Part Number Hot Search : 
T83C5121 D4460 06L20 ZX8510 N431K 0213800P E200A HG62E08
Product Description
Full Text Search
 

To Download ISD-200 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  

      
       revision 2.0 june 15, 2000 copyright ? 2000 ? in-system design, inc. notice: in-system design assumes no liability whatsoever for errors and omissions in this document. in-system design reserves the right to make changes at any time, without notice. please confirm that this document revision is current.

ISD-200 asic datasheet in-system design confidential i table of contents table of contents .............................................................................................................. ................ i table of tables ................................................................................................................ ................. iv table of figures ............................................................................................................... ..................v document revision history ...................................................................................................... .. 6 pin information ................................................................................................................ .................. 7 overview ....................................................................................................................... ........................ 10 introduction ................................................................................................................... ................... 11 ISD-200 configuration .......................................................................................................... .......... 11 ISD-200 c onfiguration d ata and usb d escriptor s ources .......................................................... 11 internal rom contents .......................................................................................................... .............. 12 serial rom interface ........................................................................................................... ................ 12 vendor-specific identify (fbh) data ............................................................................................ ....... 12 ISD-200 c onfiguration /usb d escriptor d ata f ormatting ........................................................... 13 ISD-200 configuration data ..................................................................................................... ........... 13 valid configuration byte settings.............................................................................................. .......... 15 usb interface.................................................................................................................. .................... 16 d escriptor r equirements .................................................................................................................... 16 configuration descriptors ...................................................................................................... .............. 16 string descriptor indexes ...................................................................................................... ............... 16 descriptor override ............................................................................................................ .................. 17 p ipes ............................................................................................................................... .......................... 17 default control pipe........................................................................................................... .................. 17 bulk out pipe .................................................................................................................. ..................... 17 bulk in pipe................................................................................................................... ....................... 17 interrupt pipe................................................................................................................. ....................... 17 r equests ............................................................................................................................... .................. 17 standard requests .............................................................................................................. .................. 17 mass storage class bulk-only requests.......................................................................................... .... 17 vendor-specific requests ....................................................................................................... ............. 18 d escriptors ............................................................................................................................... ............. 19 supported descriptors .......................................................................................................... ................ 19 descriptor data format ......................................................................................................... ............... 20 ata/atapi interface............................................................................................................ ............ 26 p rotocol ............................................................................................................................... .................. 26 r eset m apping ............................................................................................................................... ......... 26 d evice r equirements ............................................................................................................................ 27 ata power supplied from the usb bus ............................................................................................ .27 ata reset, a1h, fbh ............................................................................................................ .............. 27 ata polling device ............................................................................................................. ................ 27 ISD-200 ata bus state during idle.............................................................................................. ...... 27 ata pio support................................................................................................................ ................. 27 ata i nitialization t imeout ................................................................................................................ 27 d evice i nitialization s equence .......................................................................................................... 28
ISD-200 asic datasheet in-system design confidential ii ata c ommand b lock ........................................................................................................................... 31 field descriptions............................................................................................................. .................... 31 ata c ommand f low ............................................................................................................................. 33 v endor -s pecific ata c ommands ........................................................................................................ 35 power management............................................................................................................... ......... 38 bus_power pin.................................................................................................................. .............. 38 npwr500, and npwr100 pins ...................................................................................................... .... 38 selectable device power configurations ......................................................................................... .... 39 operational modes.............................................................................................................. ........... 42 neject & ncart_det p ins ............................................................................................................... 42 i_mode p in ............................................................................................................................... ............. 42 ata_en p in ............................................................................................................................... ............. 42 t est m ode p ins ............................................................................................................................... ........ 42 test pin pull-downs............................................................................................................ .................. 43 normal mode with clkn enabled.................................................................................................. ... 43 disable disk mode .............................................................................................................. ................. 43 nandtree test mode............................................................................................................. ............... 43 limbo mode ..................................................................................................................... .................... 43 external circuitry............................................................................................................. ........... 44 e xternal c omponents c onnection .................................................................................................... 44 iordy h ookup ............................................................................................................................... ....... 44 pdiag and pdasp h ookup .................................................................................................................. 45 absolute maximum ratings....................................................................................................... 45 electrical characteristics .................................................................................................... 4 5 v oltage p arameter .............................................................................................................................. 4 5 c urrent p arameter .............................................................................................................................. 4 6 timing characteristics......................................................................................................... ...... 46 i 2 c m emory d evice i nterface t iming ................................................................................................ 46 usb t ransceiver t iming c haracteristics ........................................................................................ 47 ata/atapi p ort t iming c haracteristics ........................................................................................ 47 c lock ............................................................................................................................... ........................ 47 r eset ............................................................................................................................... ......................... 47 physical diagrams .............................................................................................................. ............ 48 device errata for first silicon ISD-200 ?0002? ................................................................. 49 1. clkn output may initialize with unknown frequency with asic in reset ............................ 49 2. ata_en internal pull - up resistor is disabled during usb suspend operation .................... 49 3. eeprom write operation fails on last byte of last page with some eeprom devices ....... 49 4. scl output does not 3- state to hi -z when ?1?, limiting scl v hi voltage to 3.3v................. 49 5. c urrent draw of 5-6 m a when ata_en = 0 ................................................................................. 50 6. usb b us powered system support not possible with ISD-200 first silicon . ............................ 50 7. usb i nterrupt pipe support required for m ac os drivers / applications ............................... 50 8. s upport not provided for 16 byte atapi command block transfers ...................................... 50 9. clkn does not get the correct frequency in all cases ........................................................... 50 10. f ailure to override descriptors for slave device when bsy=0 and drq=1. ...................... 50 11. p ossible hang in atacb functionality . ..................................................................................... 51 device errata for second silicon ISD-200 ? 0003 ? ............................................................ 52
ISD-200 asic datasheet in-system design confidential iii 100. n ata_r eset , n dior, and n diow allow parasitic current draw during suspend ........... 52 101. clkn does not get the correct frequency in all cases ........................................................ 52 102. f ailure to override descriptors for slave device when bsy=0 and drq=1...................... 53 103. p ossible hang in atacb functionality . ................................................................................... 54
ISD-200 asic datasheet in-system design confidential iv table of tables table 1 ? pin descriptions .............................................................................................................. ............... 9 table 2 ? ISD-200 configuration and descriptor sources........................................................................... 12 table 3 ? ISD-200 configuration bytes................................................................................................... .... 15 table 4 ? valid configuration byte settings ............................................................................................. .. 16 table 5 ? mass storage class bulk-only requests ..................................................................................... 18 table 6 ? vendor-specific requests ...................................................................................................... ...... 18 table 7 ? device descriptor............................................................................................................. ............. 21 table 8 ? configuration descriptor(s)................................................................................................... ....... 22 table 9 ? interface descriptor .......................................................................................................... ............ 23 table 10 ? string locations.............................................................................................................. ............ 23 table 11 ? string descriptors............................................................................................................ ........... 26 table 12 ? ata command block formatting ............................................................................................. 31 table 14 ? vendor-specific ata commands ............................................................................................. 35 table 13 ? test modes .................................................................................................................... ............. 43 table 15 ? absolute maximum ratings ...................................................................................................... .45 table 16 ? dc characteristics............................................................................................................ .......... 45 table 17 ? power supply current .......................................................................................................... ...... 46 table 18 ? i 2 c memory device interface timing ........................................................................................ 46 table 19 ? clock requirements ............................................................................................................ ....... 47 table 20 ? example serial rom / fbh data ............................................................................................... 62
ISD-200 asic datasheet in-system design confidential v table of figures figure 1 ? pin layout .................................................................................................................... ................. 7 figure 2 ? ata reset protocol ............................................................................................................ ........ 28 figure 3 ? full device initialization sequence ........................................................................................... .30 figure 4 ? ata command block flow diagram ........................................................................................ 34 figure 5 ? configuration sequence ........................................................................................................ ...... 41 figure 6 ? external components connection............................................................................................... 4 4 figure 7 ? iordy hookup .................................................................................................................. ........ 44 figure 8 ? i 2 c memory device interface timing......................................................................................... 46 figure 9 ? package outline diagram....................................................................................................... ..... 48
ISD-200 asic datasheet in-system design confidential 6 document revision history title ISD-200 asic datasheet company in-system design inc. boise, id. initial revision # 1.0 creation date/time march 13, 2000 revision date comments 1.0 march 13, 2000 initial production revision 1.1 march 15, 2000 addition of ata_en mode current 1.2 march 17, 2000 removed reference to 16 byte atapi command block support 1.3 march 22, 2000 added length restriction to usb string descriptors april 4, 2000 added text to indicate a serial number string descriptor is required for msc compliance 1.4 april 10, 2000 fixed read/load_config parameter descriptions. 1.5 april 26, 2000 added internal rom values to ISD-200 configuration table. changed description of some ISD-200 configuration bits. restructured the outline to avoid conflicting statements and redundancy. fixed table of tables and table of figures cleaned up and added text on the bus_power pin and related issues. 1.6 april 28, 2000 made s uggested enhancements from review in text. 1.7 may 25, 2000 several references clarified. first silicon ? rev a ? references changed to ? first silicon ? (ISD-200 ? 0002 ? or f731727). second silicon ? rev b ? references changed to ? second silicon ? (ISD-200 ? 0003 ? or f731727a). 1.8 june 13, 2000 clarify first & second silicon differences in power management section. added second silicon errata. fixed some typographical errors. 1.9 june 15, 2000 clarified i_mode references. fixed several references for consistency. 2.0 june 29, 2000 fixed some atacb descriptions. added more errata.
ISD-200 asic datasheet in-system design confidential 7 pin information 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 iordy_pu_en usb_enum vss dpls dmns vss bus_power clkn i_mode scl sda vdd18 scan_en vdd33 led vdd18 test0 test1 pwr500 test2 test3 vss clk12 clkx vdd33 pwr100 neject ncart_det nreset ata_en vss dd13 dd2 dd12 vdd33 dd3 dd11 dd4 dd10 vss dd5 dd9 dd6 vdd18 dd8 dd7 nata_reset iordy ncs0 ncs1 vdd33 da2 da0 da1 ndior vss ndiow vdd18 dd15 vss dd0 dd14 dd1 vdd33 figure 1 ? pin layout
ISD-200 asic datasheet in-system design confidential 8 pin name tqfp pin # dir type description nreset 19 i ttl 3.3v active low chip reset clk12, clkx 25, 24 io osc in/out crystal connections. 1.8v tolerant only test0 ? test3 31, 30, 28, 27 i ttl 3.3v, pull down test mode inputs. 100k internal pull down resistors on test(2:0) scan_en 35 i ttl 3.3v, pull down manufacturing test pin. scan mode select input. 100k internal pull down resistor. i_mode 39 i ttl 3.3v usb descriptor and ISD-200 configuration data is obtained from the device by the vendor-specific atapi (fbh) command. if set (i_mode=1) and usb bus powered (bus_power=1), the device must be able to respond to the fbh atapi command when npwr100 is active. i_mode operation is not supported in usb bus powered systems that require more than 100ma of current prior to usb enumeration. clkn 40 o 4 ma ttl 3.3v configurable clock output. a digital phase lock loop provides a configurable clock source for system integration. (see errata #1 ) neject 21 i ttl 3.3v active low media eject request input ncart_det 20 i ttl 3.3v active low cartridge (media) detected input. ata_en 18 i ttl 3.3v, pull up ata interface / usb enable. allows ata bus sharing with other host devices. ata_en=1 to enable ata interface. ata_en=0 to 3-state to hi-z ata interface, disable usb interface. 100k internal pull up resistor (see errata #2, #5 ) da0 ? da2 54, 55, 53 o 4 ma ttl 5v fail safe ata address. ata66 compliant io cell. dd0 ? dd15 62, 64, 2, 5, 7, 10, 12, 15, 14, 11, 8, 6, 3, 1, 63, 60 io 4 ma ttl 5v fail safe ata data. ata66 compliant io cell. ndior 56 o 4 ma ttl 5v fail safe ata read strobe. ata66 compliant io cell. ndiow 58 o 4 ma ttl 5v fail safe ata write strobe. ata66 compliant io cell. ncs0, ncs1 50, 51 o 4 ma ttl 5v fail safe ata chip selects. ata66 compliant io cell. iordy 49 i ttl 5v fail safe ata flow control. ata66 compliant io cell. iordy_pu_en 48 o 4 ma ttl 5v fail safe ata iordy pull-up connection. active hi, 3- state to hi-z off. ata66 compliant io cell. nata_reset 16 o 4 ma ttl 5v fail safe ata pin reset. ata66 compliant io cell. scl 38 o 4 ma ttl 5v tolerant configuration serial rom clock. active low, 3- state to hi-z off. (see errata #4 ) sda 37 io 4 ma ttl 5v tolerant configuration serial rom address/data. active low, 3-state to hi-z off. npwr500 29 o 4 ma ttl 3.3v indicates host has enabled use of usb bus power (usb configuration set to a value other than 0) up to the requested amount in the usb descriptor bmaxpower entry. usb bus powered devices must condition power circuitry with the state of the bus_power signal for correct operation. active low, 3-state to hi-z off
ISD-200 asic datasheet in-system design confidential 9 pin name tqfp pin # dir type description dpls, dmns 44, 43 io usb transceiver usb differential data usb_enum 46 o 4 ma ttl 3.3v usb enumeration control. power source / sink for 1.5k pull-up resistor on usb bus dpls signal. led 33 o 12 ma ttl 3.3v usb status led control output. flashes if the usb configuration is set to 0, on solid if usb configuration is set other than 0, and off if usb bus is suspended. active low, 3-state to hi-z off npwr100 22 o 4 ma ttl 3.3v indicates usb bus can supply the lesser value of 100 ma or the usb descriptor bmaxpower entry. usb bus powered devices must condition power circuitry with the state of the bus_power signal for correct operation. active hi, 3-state to hi-z off bus_power 41 i ttl, pull up indicates the source of the ata / atapi device power. (see errata #6) bus_power=1 indicates usb bus powered. bus_power=0 indicates self power. 100k internal pull up resistor vdd18 13, 32, 36, 59 1.8v core supply vdd33 4, 23, 47, 52 3.3v io ring supply vss 9, 17, 26, 34, 42, 45, 57, 61 ground table 1 ? pin descriptions
ISD-200 asic datasheet in-system design confidential 10 overview ? usb mass storage class bulk-only specification compliant (version 1.0 rc) ? command queuing hooks in hardware to allow near theoretical usb data transfer rates (12 mb/sec) ? usb version 1.1 compliant ? usb suspend / resume support ? usb remote wakeup support ? integrated usb transceivers ? two power source modes of operation ? usb bus powered ? self powered ? dynamic (usb bus or self powered) support with usb bus power capabilities output pins ? flexible usb descriptor and ISD-200 configuration retrieval source ? i2c serial rom interface ? ata interface using vendor specific ata command (fbh implemented on atapi or ata device) ? default on-chip rom contents ? support for two configuration descriptors for dynamic (usb bus or self) powered applications ? large 32k byte data buffer maximizes ata / atapi data transfer rate ? ata interface supports ata modes 0, 1, and 2 of operation ? iordy support ? event notification via vendor specific ata command ? input pins for media cartridge detection and ejection request ? vendor specific ata command for event notification is configurable ? usb remote wakeup support ? multiple lun support ? full ata command support by use of vendor specific command block in the msc command block wrapper ? configurable external clock source (dpll) to provide system level clock ? provisions to share ata bus with other hosts ? uses inexpensive 12mhz crystal for clock source
ISD-200 asic datasheet in-system design confidential 11 introduction the ISD-200 implements a bridge between one usb 1.1 ( http://www.usb.org/developers/data/usbspec.zip ) port and one ata or atapi based mass storage device port. this bridge adheres to the mass storage class bulk-only transport ( http://www.usb.org/developers/data/devclass/usbmassbulk _10.pdf ) for atapi transactions. hardware design allows atapi command queuing which allows data transfer rates of up to the usb theoretical maximum of 12 mb/sec. the usb port of the ISD-200 is connected to a host computer directly or via the downstream port of a usb hub. host software issues commands and data to the ISD-200 and receives status and data from the isd- 200 using standard usb protocol. the ata/atapi port of the ISD-200 is connected to a mass storage device. a large 32 kbyte buffer maximizes ata/atapi data transfer rates by minimizing losses due to device seek times. the ata interface supports ata pio modes 0, 1, and 2. the device initialization process is configurable, enabling the ISD-200 to initialize most ata/atapi devices without software intervention. the ISD-200 can also be configured to allow software initialization of the device if initialization requirements are not supported by ISD-200 algorithms. ISD-200 configuration certain timing parameters and operational modes in the ISD-200 are configurable and are controlled by a series of bytes, located at the beginning of the descriptor space. ISD-200 configuration data is not to be confused with the usb configuration descriptor. ISD-200 configuration data and usb descriptor sources ISD-200 configuration data and usb descriptor data in the ISD-200 can be retrieved from several sources, selected by the mode of operation at power up. this provides for maximal flexibility in configuration possibilities. there are two possible external sources for descriptor data. table 2 indicates the method of determining which of all data sources are used. ISD-200 configuration and usb descriptor data can be supplied from an i 2 c serial memory device. the ISD-200 can address 4 kbytes of serial rom data, but usb descriptor information must be limited to 512 bytes maximum. the ISD-200 provides support for the 24lc01-16 family eeprom interface. alternatively, configuration and descriptor data can be supplied by an attached mass storage device through a vendor-specific identify (fbh) command. the ISD-200 provides internal ram (320 bytes) to hold the data. the ISD-200 also contains an on-board set of ISD-200 configuration and usb descriptors. retrieval of the on-board data will occur if no external descriptor data is supplied (see table 2 ). these on-board descriptors may be used during development, prototyping, and manufacturing. ISD-200 configuration and descriptor sources are selected by the mode of operation detected at power up. the following table describes how the ISD-200 determines usb descriptor sources. serial rom present i_mode input pin ISD-200 configuration and usb descriptor retrieval no 0 in this mode, the ISD-200 uses a die-id identifier generated at fabrication to provide a unique 12-character serial number descriptor string. all other descriptor and configuration values are taken from the
ISD-200 asic datasheet in-system design confidential 12 serial rom present i_mode input pin ISD-200 configuration and usb descriptor retrieval internal on-board rom. no 1 the ISD-200 retrieves all descriptor and configuration values from the vendor-specific identify (fbh) data. the ISD-200 is configured using values in the internal rom until the fbh data becomes available yes 0 the ISD-200 retrieves all descriptor and configuration values from serial rom. the ISD-200 is configured using values present in serial rom data only (unless the serial rom signature check fails. the isd- 200 then uses por defaults listed in the descriptor and configuration data sections of this document). yes 1 undefined mode of operation. table 2 ? ISD-200 configuration and descriptor sources internal rom contents internal on-board rom addresses and the contents of those locations are shown in tables 3 and 7 to 11 . if the ISD-200 is operated using the on-board rom contents for descriptor data, the serial number string is still guaranteed to be unique, as required by the usb mass storage class (msc) bulk only transport specification , through the utilization of a die-id process at fabrication. this unique identifier is generated through the usage of physical parameters such as wafer coordinates, wafer number, lot number, fab number, date, time, etc. the internal rom is also convenient for prototyping and manufacturing activities. enough information is supplied from the internal rom to the host that the ISD-200 will enumerate even when an un-programmed serial rom is connected. serial rom interface the ISD-200 supports the i 2 c ? fast mode ? interface, as found in the 24(l)c01-16 eeprom family. that device family allows for up to 4 kbytes of external storage, which may be used to store descriptors and other information. note that if a 24(l)c04/08/16 part is used, no descriptor is allowed to span multiple pages within the eeprom. programming of the serial rom can be accomplished using an external device programmer, ISD-200 supported vendor specific usb commands, or using a ? bed of nails ? while the ISD-200 is in limbo test mode (see operational modes, test mode pins ). an example of serial rom formatting is shown in appendix a . unused space in a serial rom may be used for other purposes using the load_config_data and read_config_data usb requests. hardware detects the presence of a serial rom and, if one is present, performs a data validity check. this check is in the form of a ? signature ? and is located at the beginning of the serial rom data (addresses 0x0 ? 0x1, table 3 ). if none is detected or the signature check fails, the ISD-200 will return configuration and descriptor data from the internal on-board rom. vendor-specific identify (fbh) data if a serial rom is not used, the ISD-200 can be configured to accept descriptor and configuration data from an attached device using a vendor-specific identify command during the boot sequence. (see operational modes, i_mode pin ) for fbh data to be deemed valid, it must first pass a validity check. this check is in the form of a ? signature ? and is located at the beginning of the fbh data (addresses 0x0 ? 0x1, table 3 ). in the event of a failed signature check, the ISD-200 will respond to all get_descriptor or get_configuration usb
ISD-200 asic datasheet in-system design confidential 13 commands by returning the defaults contained in the internal on-board rom (see ata/atapi interface, vendor-specific ata commands, identify ). an example of vendor-specific identify (fbh) data formatting is shown in appendix a . ISD-200 configuration/usb descriptor data formatting data formatting for all ISD-200 configuration data and usb descriptor data is identical for internal rom, serial rom, and vendor-specific identify (fbh) data. the following sections show how the ISD-200 configuration data is mapped into address space. the usb interface section contains formatting of usb descriptor data (see tables 7-11 ). ISD-200 configuration data the ISD-200 configuration data is located in addresses 0 to 9 of the descriptor/configuration data contents. these bytes are read at power up and determine certain parameters and operational modes used by the ISD-200. power-on reset default values are specified in bold. formatting is identical for the internal rom, serial rom, and vendor-specific identify (fbh) data. see appendix a . the ISD-200 configuration bytes get loaded into internal registers, regardless of the original data source. address field name description on-board defaults 0x00 data signature (lsb) this field specifies the least significant byte of the serial rom/fbh signature. this register does not exist in hw (no por values) 0x52 0x01 data signature (msb) this field specifies the most significant byte of the serial rom/fbh signature. this register does not exist in hw (no por values) 0x48 0x02 event notification this field specifies the ata event notification command. setting this field to 0x00 disables this feature. por configuration default of 0x00 0x00 0x03 dpll parameters this field denotes the parameters used by the internal dpll. the original clock source is 12 mhz. 5 bits m (7:3), 2 bits n (2:1), 1 bit enable (0). when enabled, multiply the original clock source by m, divided by n m: 00000 => m=1 00001 => m=1 00010 => m=2 00011 => m=3 ? . 11111 => m=31 n: 00 => n=1 01 => n=3 10 => n=2 11 => n=4 enable: 0 => clk_n disabled 1 => clk_n enabled por configuration default of 0x00 0x00 0x04 ata initialization timeout this field specifies the time in multiples of 128 ms (0x19 = 3.2s) before the ISD-200 stops polling the alternate status device register for reset complete and restarts the reset process. note: the rom contents ata initialization timeout value must be large enough to accommodate i_mode operation during the first device initialization sequence (before fbh configuration data load) por configuration default of 0x02 0x19
ISD-200 asic datasheet in-system design confidential 14 address field name description on-board defaults 0x05 reserved ? bits [7:6] master/slave selection ? bit [5] atapi device reset ? bit [4] ata timing ? bits [3:0] reserved; set to ? 0 ? this bit specifies device number selection. ? 0 ? - drive 0 ? 1 ? - drive 1 this bit specifies that the ISD-200 perform a atapi device reset command during a full initialization sequence. this field determines ata bus data access cycle times. 0000 reserved 0001 mode 2 (292 ns) 0010 mode 2 (333 ns) 0011 mode 2 (375 ns) 0100 mode 1 (458 ns) 0101 mode 1 (500 ns) 0110 mode 1 (542 ns) 0111 mode 1 (583 ns) 1000 mode 0 (625 ns) 1001 mode 0 (666 ns) 1010 mode 0 (708 ns) 1011 mode 0 (750 ns) 1100 reserved 1101 reserved 1110 reserved 1111 reserved por configuration default of 0x0b 0x01 0x06 ata command designator (byte 0, lsb) this field specifies the value in cbwcb field that designates if the cb is decoded as ata commands instead of the atapi command block. por configuration default of 0x00 0x24 0x07 ata command designator (byte 1, msb) this field specifies the value in cbwcb field that designates if the cb is decoded as ata commands instead of the atapi command block. por configuration default of 0x00 0x24
ISD-200 asic datasheet in-system design confidential 15 address field name description on-board defaults 0x08 initialization status ? bit[7] configuration descriptor 2 present ? bit[6] skip ata / atapi device initialization ? bit[5] ata high power device for usb bus powered devices ? bit[4] descriptor override ? bit[3] last lun identifier ? bits[2:0] this (read only) bit denotes the device initialization status. if set, indicates the device initialization sequence is active. this bit specifies that a second configuration descriptor is present. see ? bus_power pin ? under the ? power management ? section. ? 0 ? - not present ? 1 ? - present this bit specifies that the ISD-200 skip device initialization. ? 0 ? - normal operation ? 1 ? - only reset the device prior to allowing usb enumeration. the function of this bit is overridden (0) if i_mode is set. notification command, descriptor override, srst enable, atapi device reset settings are irrelevant. setting this bit indicates that when usb bus powered, the system ? s ata interface is only powered when the npwr500 pin is active (not controlled by npwr100). ? 0 ? ? normal operation ? 1 ? ? if (bus_power = 1) and (usb configuration = 0) then ata pads are put into low power mode, ata control lines (reset-, dior-, diow-) are 3-stated to hi-z, and the remainder of the ata lines(ncs(1:0), da(2:0), dd(15:0), and iordy_pu_en) are driven low. (see power management section) setting this bit causes the ISD-200 to override the usb descriptors for ata devices. not compatible with setting bus_power=1. if set, (i_mode = 0), and (ata device identified or device initialization fails), bdeviceclass returned as 0xff bdevicesubclass returned as 0x00 bdeviceprotocol returned as 0xff binterfaceclass returned as 0xff binterfacesubclass returned as 0x00 binterfaceprotocol returned as 0xff idproduct bit 0 is replaced with a ? 1 ? (suggested: even idproduct for atapi devices, odd numbers for ata devices) else usb descriptor information unaltered this field denotes the (zero-based) maximum number of luns supported. por configuration default of 0x30 0x08 0x09 reserved ? bits[7:2] report one configuration ? bit[1] srst enable ? bit[0] reserved; set to ? 0 ? this bit determines whether one or two configuration descriptors are made available to the host. this bit should not be set if the configuration descriptor 2 present configuration bit is not set. ? 0 ? - both descriptors are reported to the host if bus_power=0 ? 1 ? - report only the configuration descriptor that corresponds to state of the bus_power input. configuration 1 is returned when bus_power=1, configuration 2 is returned when bus_power=0 setting this bit enables the srst reset algorithm in the ISD-200. por configuration default of 0x00 0x01 table 3 ? ISD-200 configuration bytes valid configuration byte settings the following table depicts valid combinations of configuration byte settings and inputs that depend on the configuration source and usb bus power usage. operation outside the defined values may result in unexpected behavior and should be avoided.
ISD-200 asic datasheet in-system design confidential 16 mode of operation i_mode (input pin) descriptor override (configuration bit) ata high power (configuration bit) configuration descriptor 2 present (configuration bit) report one usb configuration (configuration bit) configuration source serial rom 0 0/1 0/1 fbh (i_mode) data 1 0 0 internal rom 0 0/1 0/1 attached device power source usb bus only 0 0/1 0 0 self-powered only 0/1 0 0 0 usb bus or self powered 0 0/1 0 0 usb bus or self powered 0 0/1 1 0/1 note: internal rom value options are listed here in case the internal rom mask is rolled for a specific product/vendor application. see table 3 and 7-11 for internal rom contents. table 4 ? valid configuration byte settings usb interface the usb port on the ISD-200 is electrically and logically compliant with the universal serial bus specification revision 1.1 ( http://www.usb.org/developers/data/usbspec.zip ). descriptor requirements descriptors programmed into a serial rom or vendor-specific identify (fbh) command data must observe the following constraints. configuration descriptors the ISD-200 can support one or two configuration descriptors. if the system can operate as usb bus powered and self powered, the ISD-200 requires that the first configuration descriptor be ? dynamic ? and the second be self powered. if the system can only operate as usb bus powered or self powered, then only the first configuration descriptor is used (the second configuration descriptor is zeroed out and not reported to the host). see power management , bus_power pin section. string descriptor indexes the ISD-200 imposes constraints on what descriptor string index values are allowable. for those strings that are optional, an index of 0x00 indicates that string is absent. allowable string indexes are as follows: imanufacturer - 0x01 or 0x00 if unused iproduct - 0x02 or 0x00 if unused iconfiguration1 - 0x03 or 0x00 if unused iinterface1 - 0x04 or 0x00 if unused iserialnumber - 0x05 (must be present to be msc compliant) iconfiguration2 - 0x07 or 0x00 if unused iinterface2 - 0x08 or 0x00 if unused
ISD-200 asic datasheet in-system design confidential 17 descriptor override if the ISD-200 is to be used in applications where either ata or atapi devices may be connected, the descriptor override configuration bit must be set. to avoid confusion, it is suggested that the idproduct(lsb) descriptor field be assigned an even or odd value depending on the device type. the detection of an ata or atapi device initialization failure results in bit-0 of this value being replaced with ? 1 ? . thus, it is suggested that atapi devices should have even idproduct values and ata devices odd. pipes this ISD-200 provides four usb pipes: default control, bulk out, bulk in, and interrupt. default control pipe the default pipe is used to transport standard, class and vendor-specific usb requests to the ISD-200. bulk out pipe the bulk out pipe is used to send command and data to an attached mass storage device. maximum packet size is 64 bytes. bulk in pipe the bulk in pipe is used to receive status and read data from an attached mass storage device. maximum packet size is 64 bytes. interrupt pipe the interrupt pipe is implemented for legacy driver compatibility reasons only. if addressed, it will always return 0x00. requests the ISD-200 responds to three different types of request: ? standard usb device requests ? mass storage class bulk-only requests ? vendor-specific requests standard requests the ISD-200 supports all usb standard device requests except the optional set descriptor request. these requests, which are described in chapter 9, device framework, of the usb specification , are: ? clear feature ? get configuration ? get descriptor (for information on string descriptors, see string descriptors on page 23) ? get interface ? get status ? set address ? set configuration ? set interface ? set feature mass storage class bulk-only requests mass storage class bulk-only requests supported by the ISD-200 are listed in the following table.
ISD-200 asic datasheet in-system design confidential 18 label bmrequesttype brequest wvalue windex wlength data hard_reset 00100001b 11111111b 0000h interface 0000h [none] get_max_lun 10100001b 11111110b 0000h interface 0001h 1 byte table 5 ? mass storage class bulk-only requests hard_reset this request flushes all buffers and resets the pipes to their default states, resets all hardware and registers to their default state, causes the ISD-200 to enter a power-up reset state, and resets the attached ata device with a pin reset (nata_reset). any stall conditions or bulk data toggle bits remain unchanged. vendor-specific requests vendor specific requests supported by the ISD-200 are listed in the following table. label bmrequesttype brequest wvalue windex wlength data load_config_data 01000000b 00000001b data source starting address data length write data read_config_data 11000000b 00000010b data source starting address data length read data soft_reset 01000000b 00000011b 0000h 0000h 0000h [none] cmd_queuing_control 01000000b 00000100b 0000h queuing control 0000h [none] table 6 ? vendor-specific requests load_config_data this request allows configuration data to be written to the data source specified by the wvalue field. the windex field specifies the starting address in the data source to which data is to be written and the wlength field denotes the length in bytes of data to be written. legal values for wvalue are as follows: 0x0000 configuration bytes, addresses 0x2 ? 0x9 only 0x0002 external serial rom writes to serial rom may only be written starting on eight-byte boundaries, which means that the address value must be evenly divisible by eight. also, writes to the serial rom may only include a single 256 byte page per transaction. for example: 250 bytes may be written if the starting address is 6. (see errata #3 ) writes to the configuration bytes must be constrained to addresses 0x2 through 0x9, discussed in the isd- 200 configuration data section (see table 3 ). attempts to write outside this address space will result in a stall condition. only ISD-200 configuration byte registers get over written and not the original data source (serial rom, fbh data, or on-board rom). illegal values for wvalue as well as attempts to write to a serial rom when none is connected will result in a stall condition on the usb port. read_config_data this usb request allows data to be retrieved from the data source specified by the wvalue field. data is retrieved from the data source, beginning at the address specified by windex. the wlength field denotes the length in bytes of data to be read from the data source.
ISD-200 asic datasheet in-system design confidential 19 legal values for wvalue are as follows: 0x0000 configuration bytes, addresses 0x2 ? 0x9 only 0x0001 internal on-board rom 0x0002 external serial rom 0x0003 vendor-specific identify (fbh) data illegal values for wvalue will result in a stall condition on the usb port. attempted reads from a serial rom when none is connected or attempted reads from fbh data when not in i_mode or when a serial rom is present will result in a stall condition. attempts to read configuration bytes outside the address space 0x2 ? 0x9 will also result in a stall condition. soft_reset this request resets the ISD-200 data path control state machines, buffer ram and the command queue. the attached device does not get reset. this usb request is required for error recovery if complex command queuing is used. cmd_queuing_control this request sets the type of command queuing used by the ISD-200. enabling command queuing allows the ISD-200 to accept a cbw (refer to the usb mass storage class bulk only transport specification ) from a new command before the csw for an earlier command has been sent. there are two types of command queuing, simple command queuing and complex command queuing. simple command queuing allows the ISD-200 to accept a cbw for a new command before the previous command completes. if the previous command is a bulk out transfer, the cbw is not taken until all data for the previous command has been transferred. the new command will not be operated on until the csw for the prior command has been sent. error recovery is done through a hard_reset request. complex command queuing enables out of order error recovery without resetting the attached device. command queuing is done in the same manner as in simple command queuing. however, in the event of a an error, the ISD-200 can now accept a soft_reset which resets the ISD-200 but does not reset the device. legal values for windex are as follows: 0x0000 simple command queuing ( por default ) 0x0001 complex command queuing descriptors supported descriptors ? device ? configuration the ISD-200 supports one or two possible configurations depending on the mode of operation. see power management, bus_power pin section. configuration 1. this configuration descriptor is used for self, usb bus, or dynamic power applications. ? dynamic ? power is defined to mean that the ISD-200 can operate as self or usb bus powered. the maximum power that can be drawn from the usb bus is specified in the bmaxpower descriptor field.
ISD-200 asic datasheet in-system design confidential 20 configuration 2. this configuration denotes that the ISD-200 is self powered only and is only used if configuration 1 is dynamic power. ? interface the ISD-200 supports one interface with four possible endpoints. ? endpoint the ISD-200 supports the following endpoints: default control endpoint. accessible as endpoint 0. bulk out endpoint. accessible as endpoint 1. bulk in endpoint. accessible as endpoint 2. interrupt endpoint. accessible as endpoint 3. ? string the ISD-200 supports a set of class and vendor-specific string descriptors. for more information on strings, refer to the following section. descriptor data format device descriptor there is only one device descriptor for each usb device. this descriptor gives usb information about the ISD-200 device such as definitions of the device class and device subclass, among other things. the bnumconfigurations field specifies how many configurations the ISD-200 supports. see power management, bus_power pin section . address field name description on-board defaults 0x12 blength length of device descriptor in bytes. 0x12 0x13 bdescriptor type descriptor type. 0x01 0x14 bcdusb (lsb) 0x10 0x15 bcdusb (msb) usb specification release number in bcd. 0x01 0x16 bdeviceclass device class. if (descriptor override configuration bit = 1 and i_mode = 0) and (an ata device is detected or device initialization fails to complete), this field is returned as 0xff. 0x00 0x17 bdevicesubclass device subclass. if (descriptor override configuration bit = 1 and i_mode = 0) and (an ata device is detected or device initialization fails to complete), this field is returned as 0x00 0x00 0x18 bdeviceprotocol device protocol. if (descriptor override configuration bit = 1 and i_mode = 0) and (an ata device is detected or device initialization fails to complete), this field is returned as 0xff 0x00 0x19 bmaxpacketsize maximum usb packet size supported 0x40 0x1a idvendor (lsb) 0xab 0x1b idvendor (msb) vendor id. 0x05 0x1c idproduct (lsb) 0x30 0x1d idproduct (msb) product id. if (descriptor override configuration bit = 1 and i_mode = 0) and (an ata device is detected or device initialization fails to complete), this field is returned as idproduct bit 0 is replaced with a ? 1 ? 0x00 0x1e bcddevice (lsb) * 0x00 ** 0x10 0x1f bcddevice (msb) device release number in bcd. 0x01 0x20 imanufacturer index to manufacturer string. this entry must be set to 0x01 if string is present, else 0x00 if not present 0x01
ISD-200 asic datasheet in-system design confidential 21 address field name description on-board defaults 0x21 iproduct index to product string. this entry must be set to 0x02 if string is present, else 0x00 if not present 0x02 0x22 iserialnumber index to serial number string. this entry must be set to 0x05 if string is present, else 0x00 if not present. the usb mass storage class bulk only transport specification requires a unique serial number. 0x05 0x23 bnumconfigurations number of configurations supported. this value must be consistent with configuration settings for ? configuration descriptor 2 present ? and ? report 1 configuration ? . valid values are: 1 (cfg_2_present=0) or (cfg_2_present=1 and rpt_1_cfg=1) 2 (cfg_2_present=1 and rpt_1_cfg=0) if (`descriptor 2 present ? = 1) and ( ? report 1 configuration ? = 0) and (bus_power = 1) then this value is overridden with 0x01. 0x01 * - first silicon value ? 0002 ? ** - second silicon value ? string(6) = table 7 ? device descriptor configuration descriptor the ISD-200 supports up to two configuration descriptors. the configuration descriptor contains information about the ISD-200 device configuration. each configuration has one interface that supports four endpoints. if a second configuration descriptor is used, offset locations 0x24-0x27 in the following table are used to override the appropriate values. the common descriptor fields are shared with the first configuration. see power management, bus_power pin section. address field name description on-board defaults 0x24 bconfiguration value 2 the value to use as an argument to set configuration to select the configuration. this entry must be set to 0x02 if two configuration descriptors are present. 0x00 0x25 iconfiguration 2 index to second configuration string. this entry must be set to 0x07 if string is present, otherwise set to 0x00 if not present. 0x00 0x26 bmaxpower 2 maximum power consumption for the second configuration. units used are ma*2 (i.e. 0x31 = 98 ma). 0x00 0x27 iinterface 2 index to interface string associated with the second configuration descriptor. this entry must be set to 0x08 if string is present, otherwise set to 0x00 if not present. 0x00 0x28 blength length of configuration descriptor in bytes. 0x09 0x29 bdescriptortype descriptor type. 0x02 0x2a btotallength (lsb) 0x27 0x2b btotallength (msb) number of bytes returned in this configuration. this includes the configuration descriptor plus all the interface and endpoint descriptors. 0x00 0x2c bnuminterfaces number of interfaces supported. the ISD-200 only supports one interface. 0x01 0x2d bconfiguration value 1 the value to use as an argument to set configuration to select the configuration. set to 0x01 for the first configuration descriptor. 0x01 0x2e iconfiguration 1 index to first configuration string. this entry must be set to 0x03 if string is present, otherwise set to 0x00 if not present. 0x00 0x2f bmattributes device attributes for this configuration. configuration characteristics: bit description on-board default 7 reserved. ? 1 ? 6 self-powered. ? 1 ? 5 remote wake-up. ? 1 ? / ? 0 ? (see operational modes, neject, ncart_det pins ) 4-0 reserved, set to 0. ? 0 ? * 0xe0 ** 0xc0 0x30 bmaxpower 1 maximum power consumption for the second configuration. units used are ma*2 (i.e. 0x31 = 98 ma). 0x31
ISD-200 asic datasheet in-system design confidential 22 address field name description on-board defaults * - first silicon value ** - second silicon value table 8 ? configuration descriptor(s) interface descriptor this descriptor specifies the specific interface within a configuration. in the ISD-200, the interface contains four endpoint descriptors: default control (no descriptor), bulk out, bulk in, and interrupt. it should be noted that the interrupt endpoint is only present for driver legacy reasons. it shall always return 0x00 when it is polled. interface and endpoint descriptors cannot be directly accessed using the get_descriptor usb command. however, interface and endpoint descriptors are always returned or written to as part of the configuration descriptor. endpoint descriptors and addresses must be in the fixed order of the ISD-200 on-board defaults. bulk-out first, then bulk-in followed by interrupt. address field name description on-board defaults 0x31 blength length of interface descriptor in bytes. 0x09 0x32 bdescriptortype descriptor type. 0x04 0x33 binterfacenumber interface number. 0x00 0x34 balternatesettings alternate settings 0x00 0x35 bnumendpoints number of endpoints 0x03 0x36 binterfaceclass interface class. if (descriptor override configuration bit = 1 and i_mode = 0) and (an ata device is detected or device initialization fails to complete), this field is returned as 0xff. 0x08 0x37 binterfacesubclass interface subclass. if (descriptor override configuration bit = 1 and i_mode = 0) and (an ata device is detected or device initialization fails to complete), this field is returned as 0x00. 0x06 0x38 binterfaceprotocol interface protocol. if (descriptor override configuration bit = 1 and i_mode = 0) and (an ata device is detected or device initialization fails to complete), this field is returned as 0xff. 0x50 0x39 iinterface 1 index to interface string associated with the first configuration descriptor. this entry must be set to 0x04 if string is present, otherwise set to 0x00 if not present. 0x00 usb bulk out endpoint 0x3a blength length of this descriptor in bytes. 0x07 0x3b bdescriptortype endpoint descriptor type. 0x05 0x3c bendpointaddress this is an out endpoint, endpoint number 1. 0x01 0x3d bmattributes this is a bulk endpoint. 0x02 0x3e wmaxpacketsize (lsb) 0x40 0x3f wmaxpacketsize (msb) max data transfer size. 0x00 0x40 binterval does not apply to bulk endpoints. 0x00 usb bulk in endpoint 0x41 blength length of this descriptor in bytes. 0x07 0x42 bdescriptortype endpoint descriptor type. 0x05 0x43 bendpointaddress this is an in endpoint, endpoint number 2. 0x82 0x44 bmattributes this is a bulk endpoint. 0x02
ISD-200 asic datasheet in-system design confidential 23 address field name description on-board defaults 0x45 wmaxpacketsize (lsb) 0x40 0x46 wmaxpacketsize (msb) max data transfer size. 0x00 0x47 binterval does not apply to bulk endpoints. 0x00 usb interrupt endpoint 0x48 blength length of this descriptor in bytes. 0x07 0x49 bdescriptortype endpoint descriptor type. 0x05 0x4a bendpointaddress this is an interrupt endpoint, endpoint number 3. 0x83 0x4b bmattributes this is an interrupt endpoint. 0x03 0x4c wmaxpacketsize (lsb) 0x02 0x4d wmaxpacketsize (msb) max data transfer size. 0x00 0x4e binterval this is the polling interval. 0x20 table 9 ? interface descriptor string descriptors the ISD-200 supports 9 usb string descriptors. these strings can be referenced by standard descriptors (e.g. a manufacturer name string indexed by the imanufacturer field in the device descriptor). all string descriptor lengths are restricted to 63 bytes or less . all optional string descriptors are referenced using a table of starting string addresses (see table 10 ). the starting address values are specified as the descriptor location divided by 2 (e.g. language id string begins at 0x50 but is specified in the table to be 0x28). if a particular string isn ? t implemented, the starting address value must be set to 0x00. string index 6 is hard coded to return the english unicode ISD-200 hardware revision string ? 0002 ? or ? 0003 ? . similarly, as specified in the descriptor tables, if a string isn ? t implemented, the index (example: iproduct in the device descriptor) reference must be set to 0x00. address field name description on-board defaults 0x0a language id string(0) starting address address location for langid string (divided by 2). this offset must be set to 0x00 if the string is not present. 0x28 0x0b manufacturer string(1) starting address address location for imanufacturer string (divided by 2). this offset must be set to 0x00 if the string is not present. 0x2a 0x0c product string starting(2) address address location for iproduct string (divided by 2). this offset must be set to 0x00 if the string is not present. 0x3b 0x0d configuration 1 string(3) starting address address location for iconfiguration string (divided by 2). this offset must be set to 0x00 if the string is not present. 0x00 0x0e configuration 1 interface string(4) starting address address location for iinterface string (divided by 2). this offset must be set to 0x00 if the string is not present. 0x00 0x0f serial number string(5) starting address address location for iserialnumber string (divided by 2). this offset must be set to 0x00 if the string is not present. the usb mass storage class bulk only transport specification requires a unique serial number. 0x00 0x10 configuration 2 string(7) starting address address location for second iconfiguration 2 string (divided by 2). this offset must be set to 0x00 if the string is not present. 0x00 0x11 configuration 2 interface string(8) starting address address location for second iinterface 2 string (divided by 2). this offset must be set to 0x00 if the string is not present. 0x00 table 10 ? string locations string index 0 must contain the langid of exactly one language, as the isd- 200 supports only a single language. microsoft defines the langid codes for windows, as described in developing international software for windows 95 and windows nt , nadine kano, microsoft press, redmond, washington. note that the langid code for english is 0x0409 ( http://www.usb.org/developers/data/usb_langids.pdf ).
ISD-200 asic datasheet in-system design confidential 24 there is an additional string, index 6, that is not referenced by standard descriptors. index 6 contains the ISD-200 hardware revision string. the following table shows how the langid, manufacturer, and product strings are formatted in the on-board rom contents, and this can be considered an example of how to format strings in a serial rom or in fbh data. each string character is comprised of an ascii character appended to a null byte to meet the unicode encoding requirements as specified in the unicode standard, worldwide character encoding, version 1.0, volumes 1 and 2. address field name description on-board defaults usb string descriptor - index 0 (langid) 0x50 blength langid string descriptor length in bytes. 0x04 0x51 bdescriptortype descriptor type. 0x03 0x52 langid (lsb) 0x09 0x53 langid (msb) language supported. note: see langid table in microsoft documentation (the code for english is 0x0409) 0x04 usb string descriptor - index 1 (manufacturer) 0x54 blength string descriptor length in bytes (restricted to 63 bytes or less). 0x22 0x55 bdescriptortype descriptor type. 0x03 0x56 bstring ascii character. 0x49 ( ? i ? ) 0x57 bstring ( ? nul ? ) 0x00 0x58 bstring ascii character. 0x6e ( ? n ? ) 0x59 bstring ( ? nul ? ) 0x00 0x5a bstring ascii character. 0x2d ( ? - ? ) 0x5b bstring ( ? nul ? ) 0x00 0x5c bstring ascii character. 0x53 ( ? s ? ) 0x5d bstring ( ? nul ? ) 0x00 0x5e bstring ascii character. 0x79 ( ? y ? ) 0x5f bstring ( ? nul ? ) 0x00 0x60 bstring ascii character. 0x73 ( ? s ? ) 0x61 bstring ( ? nul ? ) 0x00 0x62 bstring ascii character. 0x74 ( ? t ? ) 0x63 bstring ( ? nul ? ) 0x00 0x64 bstring ascii character. 0x65 ( ? e ? ) 0x65 bstring ( ? nul ? ) 0x00 0x66 bstring ascii character. 0x6d ( ? m ? ) 0x67 bstring ( ? nul ? ) 0x00 0x68 bstring ascii character. 0x20 ( ? ? ) 0x69 bstring ( ? nul ? ) 0x00 0x6a bstring ascii character. 0x44 ( ? d ? ) 0x6b bstring ( ? nul ? ) 0x00 0x6c bstring ascii character. 0x65 ( ? e ? ) 0x6d bstring ( ? nul ? ) 0x00 0x6e bstring ascii character. 0x73 ( ? s ? ) 0x6f bstring ( ? nul ? ) 0x00 0x70 bstring ascii character. 0x69 ( ? i ? ) 0x71 bstring ( ? nul ? ) 0x00 0x72 bstring ascii character. 0x67 ( ? g ? ) 0x73 bstring ( ? nul ? ) 0x00 0x74 bstring ascii character. 0x6e ( ? n ? ) 0x75 bstring ( ? nul ? ) 0x00 usb string descriptor - index 2 (product)
ISD-200 asic datasheet in-system design confidential 25 address field name description on-board defaults 0x76 blength string descriptor length in bytes (restricted to 63 bytes or less). 0x28 0x77 bdescriptortype descriptor type 0x03 0x78 bstring ascii character. 0x55 ( ? u ? ) 0x79 bstring ( ? nul ? ) 0x00 0x7a bstring ascii character. 0x53 ( ? s ? ) 0x7b bstring ( ? nul ? ) 0x00 0x7c bstring ascii character. 0x42 ( ? b ? ) 0x7d bstring ( ? nul ? ) 0x00 0x7e bstring ascii character. 0x20 ( ? ? ) 0x7f bstring ( ? nul ? ) 0x00 0x80 bstring ascii character. 0x53 ( ? s ? ) 0x81 bstring ( ? nul ? ) 0x00 0x82 bstring ascii character. 0x74 ( ? t ? ) 0x83 bstring ( ? nul ? ) 0x00 0x84 bstring ascii character. 0x6f ( ? o ? ) 0x85 bstring ( ? nul ? ) 0x00 0x86 bstring ascii character. 0x72 ( ? r ? ) 0x87 bstring ( ? nul ? ) 0x00 0x88 bstring ascii character. 0x61 ( ? a ? ) 0x89 bstring ( ? nul ? ) 0x00 0x8a bstring ascii character. 0x67 ( ? g ? ) 0x8b bstring ( ? nul ? ) 0x00 0x8c bstring ascii character. 0x65 ( ? e ? ) 0x8d bstring ( ? nul ? ) 0x00 0x8e bstring ascii character. 0x20 ( ? ? ) 0x8f bstring ( ? nul ? ) 0x00 0x90 bstring ascii character. 0x41 ( ? a ? ) 0x91 bstring ( ? nul ? ) 0x00 0x92 bstring ascii character. 0x64 ( ? d ? ) 0x93 bstring ( ? nul ? ) 0x00 0x94 bstring ascii character. 0x61 ( ? a ? ) 0x95 bstring ( ? nul ? ) 0x00 0x96 bstring ascii character. 0x70 ( ? p ? ) 0x97 bstring ( ? nul ? ) 0x00 0x98 bstring ascii character. 0x74 ( ? t ? ) 0x99 bstring ( ? nul ? ) 0x00 0x9a bstring ascii character. 0x65 ( ? e ? ) 0x9b bstring ( ? nul ? ) 0x00 0x9c bstring ascii character. 0x72 ( ? r ? ) 0x9d bstring ( ? nul ? ) 0x00 0x9e- 0x135 not used 0xxx hardware revision string descriptor - index 6 0x136 blength string descriptor length in bytes (hardware revision string). 0x0a 0x137 bdescriptortype descriptor type 0x03 0x138 bstring 0x30 0x139 bstring 0x00 0x13a bstring 0x30 0x13b bstring 0x00 0x13c bstring 0x30
ISD-200 asic datasheet in-system design confidential 26 address field name description on-board defaults 0x13d bstring 0x00 0x13e bstring * 0x32 ** 0x33 0x13f bstring 0x00 * - first silicon value ** - second silicon value table 11 ? string descriptors ata/atapi interface the ata/atapi port on the ISD-200 is compliant with the information technology ? at attachment with packet interface ? 4 (ata/atapi-4) specification, t13/1153d rev 18 ( ftp://fission.dt.wdc.com/x3t13/project/d1153r18.pdf ) . the ISD-200 provides support for packet commands as well as ata commands. the ISD-200 provides a vendor-specific identify (fbh) command that returns configuration data and usb descriptor information (see descriptors section, page 7) from an attached mass storage device. additionally, there is a built in vendor-specific event notify command to communicate certain events on an interrupt basis to the device. protocol the ISD-200 supports command protocol flows as defined in the ata/atapi-4 specification . commands are grouped into different classes, based on the protocol followed for command execution. the ata/atapi interface supports the following clarifications: ? immediately after the reset recovery period, the ISD-200 will write 0x00 to the device control register. ? arbitrary byte count transfers supported. ? 16-bit data reads and writes. 8-bit data transfers not supported. reset mapping the ata/atapi interface responds to several resets, power-on, resume, usb, msc hard, and vendor- specific soft reset. in the case of a power-on reset, a full device initialization is performed (see figure 3). fbh data is retrieved and stored if applicable. in the case of a resume reset, a full device initialization is performed as well (previously stored fbh data is not effected). in the cases of usb reset and msc hard reset, a partial initialization is performed which excludes all attempts to perform identify device commands. if bus_power=1 then the usb reset causes a full initialization after the usb configuration setting is restored. in the case of a vendor-specific soft reset, only the internal state machines are reset.
ISD-200 asic datasheet in-system design confidential 27 device requirements attached mass storage devices must support the following device requirements. ata power supplied from the usb bus power requirements for the device vary depending upon the mode used. if no serial rom is present and imode is asserted, the device must be capable of operating at 4.4v when in enumeration mode (100 ma). that is, when obtaining configuration and usb descriptor information from the device using the vendor- specific identify (fbh) command. after enumeration, the device must be able to operate at 4.75v when in operational mode (500 ma). if a serial rom is used, the device must be able to operate at 4.75v when obtaining configuration and usb descriptor information. ata reset, a1h, fbh bsy and drq must be cleared by the device prior to the amount of time specified by ata initialization timeout configuration field has passed since the removal of reset. ata polling device the device shall be capable of being a polling only device. as such, the ata signal intrq is not required but may be useful as a debug tool. ISD-200 ata bus state during idle the ISD-200 drives the address lines high and the last contents of the data register onto the ata bus when idle. pull up or pull down resistors shall not be used in bus power systems as the drive supply power will be shut off in usb suspend mode. ata pio support register accesses are performed in pio mode 0 (750 ns cycle time). the maximum data register accesses are performed in pio mode 2 (292 ns cycle time). the ISD-200 configuration bytes must be set such that data register accesses do not exceed the maximum speed supported by the device. ata initialization timeout the ISD-200 supports a default configuration of 3.2 seconds for ata initialization timeout. if a serial rom is used, its ata initialization timeout configuration value will override the default prior to device initialization. if no serial rom is used and i_mode is asserted, subsequent device initializations will use the ata initialization timeout configuration value supplied by the vendor-specific identify (fbh) command. reset recovery shall be 3 ms. the following figure graphically defines ? initialization timeout ? and ? reset recovery ? . reset assertion reset recovery ata_nreset initialization timeout ndior/ndiow
ISD-200 asic datasheet in-system design confidential 28 figure 2 ? ata reset protocol device initialization sequence the diagrams on the following pages show the normal sequence used for device initialization.
ISD-200 asic datasheet in-system design confidential 29 reset device assert ata_nreset for 50 ms do_init yes initialize flow diagram page 1 of 2 reset recovery deassert ata_nreset wait for 3 ms srst_enable yes no write device control with 04h and wait for 3 ms write device control with 00h and wait for 3 ms skip_boot yes no device initialized (pg 2) master/slave master slave poll alt_stat write device head with "101"&dev&"0000" and wait for 500 ns reset retry bsy=0 & drq=0 attempt ech (page 2) write device control with 00h and wait for 3 ms init timeout or bsy=0 & drq=0 or bsy=0 & drq=1 poll alt_stat bsy=0 drq=1 bsy=drq=0 or 50ms timeout initialization timeout or bsy=0 & drq=1 yes no poll alt_stat init timeout or bsy=0 & drq=0 or bsy=0 & drq=1 no init timeout or bsy=drq=0 no
ISD-200 asic datasheet in-system design confidential 30 attempt ech command initialize flow diagram page 2 of 2 ech success yes no attempt a1h command attempt fbh command fbh success yes no yes no i_mode and no_prom yes assert init done no event notification command (if enabled) a1h success no ech signature pass yes reset retry (page 1) atapi reset enabled perform atapi reset(08h) no yes (from page 1) no device initialized figure 3 ? full device initialization sequence
ISD-200 asic datasheet in-system design confidential 31 ata command block ata commands for the ISD-200 shall be supported by command encoding in the command block portion of the msc command block wrapper (cbw) . refer to the usb mass storage class (msc) bulk only transport specification for information on cbw formatting. the ata command block (atacb) provides a means of passing ata commands and ata register accesses for execution. the atacb resides in the cbwcb portion of the cbw . the atacb shall be distinguished from other command blocks by the first two bytes of the command block matching the watacbsignature . only command blocks that have a valid watacbsignature shall be interpreted as ata command blocks. all other fields of the cbw and restrictions on the cbwcb shall remain as defined in the usb mass storage class bulk only transport specification . the atacb shall be 16 bytes in length. the following table and text defines the fields of the atacb . byte 7 6 5 4 3 2 1 0 0-1 watacbsignature 2 reserved (0) bmatacbactionselect 3 bmatacbregisterselect 4 batacbtransferblockcount 5-12 batacbtaskfilewritedata 13-15 reserved (0) table 12 ? ata command block formatting field descriptions watacbsignature ? this signature indicates the cbwcb contains an atacb . the signature field shall contain the value 2424h to indicate an atacb . devices capable of accepting only ata command blocks shall return a command failed status if the watacbsignature is not correct. bmatacbactionselect ? the bit fields of this register shall control the execution of the atacb . refer to the atacb command flow diagram in section 4 of this document for further clarification . the bitmap of the bmatacbactionselect shall be defined as follows: bits 7-6 reserved - the host shall set these bits to zero. bit 5 devoverride ? use the dev value specified in the atacb . 0 = the dev bit value will be determined from isd200 configuration data (byte 5 bit 5) 1= then dev bit value will be determined from the atacb (0xb bit 5). bits 4-3 dperroroverride(1:0) - device and phase error override. these bits shall not be set in conjunction with bmatacbactionselect taskfileread . the order of precedence for error override shall be dependant on the amount of data left to transfer when the error is detected, as depicted in the atacb command flow diagram. 00 = data accesses are halted if a device or phase error is detected. 01 = phase error conditions are not used to qualify the occurrence of data accesses.
ISD-200 asic datasheet in-system design confidential 32 10 = device error conditions are not used to qualify the occurrence of data accesses. 11 = neither device error or phase error conditions are used to qualify the occurrence of data accesses. bit 2 pollaltstatoverride - poll altstat override. 0 = the alternate status registered shall be polled until bsy=0 before proceeding with the atacb operation. 1 = execution of the atacb shall proceed with the data transfer without polling the alternate status register until bsy=0. bit 1 deviceselectionoverride - device selection override. this bit shall not be set in conjunction with bmatacbactionselect taskfileread . 0 = device selection shall be performed prior to command register write accesses. 1 = device selection shall not be performed prior to command register write accesses. bit 0 taskfileread - read and return the task file register data selected in bmatacbregisterselect . if taskfileread is set, the dcbwdatatransferlength field must be set to 8. 0 = execute atacb command and data transfer (if any). 1 = only task file registers selected in bmatacbregisterselect shall be read . task file registers not selected in bmatacbregisterselect shall not be accessed and 00h shall be returned for the unselected register data. bmatacbregisterselect ? setting the appropriate bit fields shall cause the task file read or write register access to occur. task file read data shall always be 8 bytes in length. unselected task file register data shall be returned as 00h. task file register accesses shall occur in sequential order as shown (bit 0 first, bit 7 last). the bmatacbregisterselect bitmap shall be as defined below. bit 0 (3f6h) device control / alternate status bit 1 (1f1h) features / error bit 2 (1f2h) sector count bit 3 (1f3h) sector number bit 4 (1f4h) cylinder low bit 5 (1f5h) cylinder high bit 6 (1f6h) device-head (see bmatacbactionselect(5)) bit 7 (1f7h) command / status batacbtransferblockcount ? this value shall denote the maximum requested block size in 512 byte blocks. this variable shall be set to the value last used for ? sectors per block ? in the set_multiple_mode command. valid values are 1, 2, 4, 8, 16, 32, 64, and 128. command failed status shall be returned if an invalid value is detected in the atacb . non-multiple commands shall set this value to 1 (block size of 512 bytes). batacbtaskfilewritedata ? ata register data used on ata command or pio write operations. only data entries that have the associated bmatacbregisterselect bit set shall be required to have valid data. atacb address offset 5h (3f6h) device control atacb address offset 6h (1f1h) features atacb address offset 7h (1f2h) sector count atacb address offset 8h (1f3h) sector number atacb address offset 9h (1f4h) cylinder low atacb address offset ah (1f5h) cylinder high atacb address offset bh (1f6h) device-head (see bmatacbactionselect(5)) atacb address offset ch (1f7h) command
ISD-200 asic datasheet in-system design confidential 33 ata command flow the following figure shows the flow of ata commands, specifically the actions taken by the ISD-200 based upon how the ata command block is configured. latch bmatacbactionselect watacb signature detected atacb taskfileread latch bmatacbregisterselect yes set clear read registers selected in bmatacbregisterselect . set transferlength = dcbwdatatransferlength done perform ata device selection. the device shall specify the value for the dev bit. write ata registers selected in bmatacbregisterselect with the batacbtaskfilewritedata atacb pollaltstat override set clear poll ata alternate status until bsy=0 and store err and drq bits. b a c latch transferblocksize note: if no ata registers are selected then no ata registers are written. the device shall specify the value for the dev bit when writing the device_head register. note: only ata registers selected in bmatacbregisterselect are read. ata registers not read are zero filled in the 8 bytes of returned data. dcbwdatatransferlength must be set to 8. page 1 of 2 atacb pollaltstat override poll ata alternate status until bsy=0 and store err and drq bits. set clear command fail or other command block specification assumed no atacb deviceselection override clear set
ISD-200 asic datasheet in-system design confidential 34 yes b a transferlength > 0 no clear set drq drq set clear err err set clear set clear set clear phase error phase error fail done atacb dperroroverride (0) transferlength > 0 atacb dperroroverride (0) set clear set clear atacb dperroroverride (1) clear set transfer bytecount bytes specified by direction in bmcbwflags . set bytecount = transferlength transferlength < blocksize*512? yes no set bytecount = (blocksize*512) set transferlength = 0 set transferlength = transferlength - (blocksize*512) no yes c atacb dperroroverride (1) page 2 of 2 note: drq and err bit information come from last read of ata alternate status register. read ata status to clear intrq and ignore results read ata status to clear intrq and ignore results read ata status to clear intrq and ignore results figure 4 ? ata command block flow diagram
ISD-200 asic datasheet in-system design confidential 35 vendor-specific ata commands there are two vendor-specific ata commands implemented in the ISD-200. they are shown in the following table. label command code description identify fbh this command is used to read ISD-200 configuration data and usb descriptor data from an attached mass storage device. event_notify specified in configuration data this command communicates certain events to the device and is executed as the events occur. table 14 ? vendor-specific ata commands identify the vendor-specific identify (fbh) command enables the ISD-200 to request configuration and usb descriptor information from an attached mass storage device. command code fbh feature set the packet command feature set may or may not be implemented. protocol pio data-in (refer to ata/atapi-4 specification , section 9.7). input register 7 6 5 4 3 2 1 0 features n/a sector count n/a sector number n/a cylinder low n/a cylinder high n/a device/head obs n/a obs dev n/a n/a n/a n/a command fbh device/head register ? the dev bit indicates the selected device. normal outputs register 7 6 5 4 3 2 1 0 error n/a sector count n/a sector number n/a cylinder low n/a cylinder high n/a device/head obs n/a obs dev n/a n/a n/a n/a status bsy n/a n/a n/a drq n/a n/a err
ISD-200 asic datasheet in-system design confidential 36 device/head register ? the dev bit indicates the selected device. status register ? bsy shall be cleared to zero upon command completion. drdy shall be set to one. df (device fault) shall be cleared to zero. drq shall be cleared to zero. err shall be cleared to zero. error outputs if the device does not support this command, the device shall return command aborted. otherwise, the device shall not report an error. description when the command is issued, the device sets the bsy bit to one, and prepares to transfer 320 bytes of configuration/descriptor data to the ISD-200. the device then sets drq to one and clears bsy to zero. the arrangement and meaning of the fbh data bytes are specified in tables 3, 7-11. an example of fbh programming is shown in appendix a . event_notify the vendor-specific event-notify command enables the ISD-200 to communicate the occurrence of certain events to the attached device. (see operational modes, neject, ncart_det pins ) command code specified in the ISD-200 configuration bytes, address 0x2. programming the command code to 0x00 disables the event-notify feature. feature set the packet command feature set is used. protocol non-data (refer to ata/atapi-4 specification , section 9.9). input register 7 6 5 4 3 2 1 0 features usb reset class specific reset usb suspend usb resume cartridge insert cartridge release eject button press eject button release sector count n/a sector number n/a cylinder low state0 cylinder high state1 device/head n/a command specified in the ISD-200 configuration bytes features register ? the usb reset bit indicates that a usb reset event has occurred. the class specific reset bit indicates that an msc reset was issued by the host. the usb suspend bit indicates that the usb bus has gone into suspend. the usb resume bit denotes that the usb bus is no longer in suspend. the cartridge insert bit is set when the device media is inserted.
ISD-200 asic datasheet in-system design confidential 37 the cartridge release bit is set when the device media is ejected. the eject button press bit is set when the eject button on the device is pressed. the eject button release bit is set when the eject button on the device is released. cylinder high ? the state0 vendor-specific field is combined with state1 specify state information to the attached device. cylinder low ? the state1 vendor-specific field is combined with state0 specify state information to the attached device. normal outputs register 7 6 5 4 3 2 1 0 error n/a sector count n/a sector number n/a cylinder low nstate0 cylinder high nstate1 device/head n/a status bsy n/a n/a n/a drq n/a n/a n/a cylinder high ? the nstate0 vendor-specific field is combined with nstate1 to communicate information about the state of the device back to the host. cylinder low ? the nstate1 vendor-specific field is combined with nstate0 to communicate information about the state of the device back to the host. status register ? bsy shall be cleared to zero upon command completion. drq shall be cleared to zero. error outputs if the device does not support this command, the device shall return command aborted. otherwise, the device shall not report an error. description when this command is issued, the ISD-200 will wait until the device clears bsy and drq to zero before beginning the input register writes. after writing the input registers, the ISD-200 waits for bsy and drq cleared to zero and then reads the state information (nstate). the event notification command is issued following every assertion of ata_nreset to the device and following the por device initialization sequence. the event notification command is also issued after any of the events reported in the event notification data take place. if any combination of mating events (mating events are defined as suspend/resume, cartridge insert/release, eject press/release, and usb/class reset) take place before the ISD-200 can issue the event notification command to the device, the following will occur: 1. send an event notification command showing all events. 2. send a subsequent event notification command showing only the most recent of any mated events.
ISD-200 asic datasheet in-system design confidential 38 if an event notification command does not complete for any reason (such as an incoming reset), the isd- 200 will re-issue the command (with any new event data) until it completes successfully. success of the command does not depend upon the err bit. if the drq bit is set in response to an event notification, ISD-200 will continue to poll (in order to make device incompatibility obvious). power management bus_power pin first silicon does not support the bus_power pin being set (see errata #6 ). the ISD-200 reacts to the following conditions as stated: ? when a usb suspend condition exists and bus_power pin is asserted, the external clock source(clkn) is disabled, and if remote wakeup is disabled the oscillator is turned off, all ata outputs put into low power mode, and ata control lines (nata_reset, ndior, ndiow) are 3- stated to hi-z. ? when a usb suspend condition exists the remainder of the ata lines (ncs(1:0), da(2:0), dd(15:0)) are driven low. first silicon errata #6 includes all ata lines being three-stated only when bus_power is asserted, and a suspend condition exists. ? when the bus_power pin is asserted, the usb configuration value is set to zero, and configuration byte 8 bit 4 is set, all ata outputs are put into low power mode, ata control lines (nata_reset, ndior, ndiow) are 3-stated to hi-z. ? when the usb configuration value is set to zero, and configuration byte 8 bit 4 is set the remainder of the ata lines (ncs(1:0), da(2:0), dd(15:0)) are driven low. first silicon does not support this feature (see errata #6 ). ? the ISD-200 resets itself in the following cases: o if bus_power is asserted usb configuration is set to 2. o if bus_power changes when the usb configuration is set to 0. ? the ISD-200 drives usb_enum before attempting to talk to attached device. ? the ISD-200 does not attempt to talk to the disk until the usb configuration is set to either 1 or 2. first silicon does not support this feature (see errata #6 ). ? setting the descriptor override bit is incompatible with setting bus_power pin. the assertion of bus_power will cause a get status usb request from the host to report a ? 0 ? (indicating bus-powered status) in bit 0 of the information returned. the de-assertion of bus_power will cause a get status usb request from the host to report a ? 1 ? (indicating self-powered status) in bit 0 of the information returned. bus_power pin state may also effect how usb descriptors are presented to the host (see selectable device power configurations section below). (see errata #6 ) npwr500, and npwr100 pins the npwr500 and npwr100 output pins indicate that the usb host has allotted the requested power(bmaxpower) to the peripheral system (see figure 5 ). these pins allow usb power to be controlled in order to meet usb power consumption requirements. in the case of a usb suspend condition, both npwr500 and npwr100 are de-asserted. also, the ISD-200 will put itself into a low power state as described above. upon a resume condition, the ISD-200 will resume normal operation and restore the npwr500 and npwr100 pin values as before suspend. ISD-200 ? s power source is not to be controlled at any time using the npwr500 or npwr100 pins. npwr100 is always asserted unless in usb suspend. npwr100 asserted indicates that up to 100 ma may be drawn from usb. npwr500 is only asserted when the usb configuration is set to 1. npwr500 asserted indicated that up to 500 ma may be drawn from usb depending on what the bmaxpower value is set to for configuration 1
ISD-200 asic datasheet in-system design confidential 39 selectable device power configurations the ISD-200 is capable of offering three types of system power configurations. ? self-powered ? current is not taken from usb ? bus-powered ? current is taken from usb ? dynamically-powered ? current may be taken from usb the ISD-200 may be configured to operate from different power sources dynamically depending upon the presence of external (not usb) power. power source configuration is accomplished by controlling the bus_power input pin accompanied by the appropriate ISD-200 configuration and usb descriptor settings. npwr100 and npwr500 are also used to control power consumption as described in the previous sub-section. self-powered example the bus_power pin is de-asserted. ISD-200 configuration: configuration 2 present = 0 report one configuration = 0 device descriptor: bnumconfigurations = 1 configuration descriptor: bconfigurationvalue1 = 1 iconfiguration1 = 3 bmaxpower1 = required usb current limited to under 100 ma (may need to use npwr500 to satisfy usb suspend current requirements if any current is drawn) iinterface1 = 4 bconfigurationvalue2 = n/a iconfiguration2 = n/a bmaxpower2 = n/a iinterface2 = n/a bus-powered example the bus_power pin is asserted. (see errata #6 ) ISD-200 configuration: configuration 2 present = 0 report one configuration = 0 device descriptor: bnumconfigurations = 1 configuration descriptor: bconfigurationvalue1 = 1 iconfiguration1 = 3 bmaxpower1 = required usb current limited to under 500 ma (may need to use npwr500 to satisfy usb suspend and pre-configuration current requirements) iinterface1 = 4 bconfigurationvalue2 = n/a iconfiguration2 = n/a bmaxpower2 = n/a iinterface2 = n/a dynamically-powered example the bus_power pin is asserted to indicate the absence of external power and de-asserted to indicate the presence of external power. (see errata #6 ) ISD-200 configuration (see table 3 ): ? configuration 2 present ? = 1 ? report one configuration ? = pick either 0 or 1 depending on host software and desired results (see tables 3 and 8 ).
ISD-200 asic datasheet in-system design confidential 40 device descriptor (see table 7 ): bnumconfigurations = 1 if ? report one configuration ? is set otherwise 2 configuration descriptor (see table 8 ): bconfigurationvalue1 = 1 iconfiguration1 = 3 bmaxpower1 = (usb current required by the peripheral system limited to under 500ma) iinterface1 = 4 bconfigurationvalue2 = 2 iconfiguration2 = 7 bmaxpower2 = 0x31 (98 ma) iinterface2 = 8 configuration 1 = dynamic configuration (npwr500 asserted) configuration 2 = self-powered configuration configuration 2 consists of configuration 1 values except with the 4 bytes of override values from bconfigurationvalue2, iconfiguration2, bmaxpower2, and iinterface2 (see tables 3 and 7-8 ). if ? report one configuration ? is set to 1: o configuration 1 will be returned when bus_power is asserted. o configuration 2 will be returned when bus_power is de-asserted. if ? report one configuration ? is set to 0: o when bus_power is asserted, bnumconfigurations in the device descriptor will be overridden with 1 and configuration 1 will be returned. o when bus_power is not asserted configuration 1 and configuration 2 will be returned.
ISD-200 asic datasheet in-system design confidential 41 pwron npwr100 = 0 npwr500 = z check for eeprom eeprom present? start ata / atapi boot get config data usb set_config ? operational yes no i_mode? yes set usb_enum no bus_powered? return config descriptors: dynamic (1) self powered (2) no return only config descriptor: dynamic (1) yes yes config value = 0 ? yes config value = 1 ? no yes npwr100 = 0 npwr500 = z no (2) npwr100 = 0 npwr500 = 0 ata / atapi boot done? start ata / atapi boot yes no no figure 5 ? configuration sequence
ISD-200 asic datasheet in-system design confidential 42 operational modes neject & ncart_det pins these pins are used to trigger remote-wakeup (see table 8, 0x2f ) as well as event notification (see vendor specific ata commands, event_notification ). when asserted low ? neject ? indicates to isd200 that an eject button has been pushed. when asserted low, ? ncart_det ? indicates that a cartridge is present. there is an internal 1ms filter on each of these inputs. i_mode pin i_mode pin, when asserted high, allows the isd200 configuration and usb descriptor data to be retrieved from an attached device. (see ISD-200 configuration, data sources ) ata_en pin ata_en pin allows ata bus sharing with other host devices. de-asserting (ata_en=0) causes the isd- 200 to 3-state all ata bus interface pins to hi-z; de-assert usb_enum, and reset all logic except on- board rom / serial rom logic that loads configuration data. this logic remains enabled to allow configuration data loads for the configurable external clock (clkn) upon occurrence of chip reset. asserting ata_en (ata_en=1) allows normal operation. in order to insure the internal pull-up for ata_en is on, test(3) must be tied low. test mode pins test(3:0) mode description 0000 normal mode . this is the default mode of operation, or run time mode. pull- downs are on. clkn is disabled. 0001 normal mode . this is the default mode of operation, or run time mode. pull- downs are on. clkn defaults to 32 mhz. 0010 normal mode . this is the default mode of operation, or run time mode. pull- downs are on. clkn defaults to 40 mhz. 0011 nandtree ? allows board level manufacturing tests. see following section. 0100 scan m ode ? fab only test mode 0101 limbo setting this mode disables all output (3-state to hi-z) 0110 disable disk (normal) - enable usb enumeration without atapi interface. pull-downs are on. 0111 reserved 1000 intest (t) - functional test mode with shortened timers. the dpll and osc circuits are still powered with clkn disabled. pull-downs are off. 1001 intest (tm) - functional test mode with shortened timers and shortened ram. the dpll and osc circuits are still powered with clkn defaulting to 32 mhz. pull-downs are off. 1010 intest (tms) - functional test mode with shortened timers, shortened ram, and skip atapi identify boot sequence. the pll and osc circuits are still powered with clkn defaulting to 40 mhz. pull-downs are off. 1011 testmux ? fab only test mode 1100 scan m ode ? fab only test mode 1101 intest (bt) ? functional test mode with dpll bypassed (m=n=1), osc circuits disabled (pass through), and shortened timers. pull-downs are off. 1110 reserved
ISD-200 asic datasheet in-system design confidential 43 1111 powerdown ? fab only test mode table 13 ? test modes test pin pull-downs in order to insure the internal pull-downs for test(2:0) are on, test(3) must be tied low. normal mode with clkn enabled there are two modes in which the clkn output clock is initiated before ISD-200 configuration data is received. the main reason for providing a clock in this manner is to allow an ata device to use this clock as a system clock when the ISD-200 configuration data source is to come from the device (see the vendor- specific ata commands, identify section). two clock frequencies are provided 32 and 40 mhz. disable disk mode this mode allows the ISD-200 to temporarily bypass the normal device initialization in a manufacturing environment in order to program the eeprom over usb. this mode is not to be used as a normal functional mode. nandtree test mode this mode disables all outputs except ? usb_enum ? (nandtree output), allowing for testing of input connectivity. the list below shows the connectivity order of the nandtree chain (beginning to end). nreset, ata_en, iordy, dd[15:0], note: dd[0] first, dd[15] last neject, ncart_det, bus_power, scan_en, i_mode, sda input pin connectivity can be tested with the following procedure: 1) set all inputs on the chain to ? 1 ? . output will be ? 1 ? . 2) set nreset to ? 0 ? . output will toggle 3) set nreset back to ? 1 ? . output will toggle. 4) set '0' on the nandtree chain inputs from the beginning of the chain to the end (in order). the output will t oggle with each i nput toggle, testing pad / io cell connectivity. limbo mode ISD-200 provides a ? limbo mode ? in which all of its output pads are placed in a high-impedance state.
ISD-200 asic datasheet in-system design confidential 44 external circuitry external components connection 12mhz 15pf 15pf 1.5k ? clkx clk12 dmns dpls usb_enum 24 ? 24 ? d + d - ISD-200 sda 1.5? 5.0v scl 5.0v crystal specifications: 32 pf series capacitance 7 pf load capacitance crystals with different specifications than above will require modified circuit values for correct operation. 0? note for brick powered systems: system design must insure the 1.5k ohm pull-up resistor on dpls does not source power if vbus power is not present. figure 6 ? external components connection iordy hookup the iordy pin must be pulled up using a 1 k ohm resistor. the figure on the left is used when the isd- 200 and another device (or devices) is connected to the ata bus of the drive. the figure on the right is used when the ISD-200 is the only device connected. figure 7 ? iordy hookup
ISD-200 asic datasheet in-system design confidential 45 pdiag and pdasp hookup power on diagnostics timeout (750 ms and 30 s) must be limited to avoid an ISD-200 timeout. one method to accomplish this is to make sure pdiag and pdasp are grounded on the circuit board and the device is wired to be master. absolute maximum ratings stresses in excess of the absolute maximum ratings can cause permanent damage to the device. these are absolute stress ratings only. functional operation of the device is not implied at these or any other conditions in excess of those given in the operations sections of this data sheet. exposure to absolute maximum ratings for extended periods can adversely affect device reliability. symbol parameter min max units vdd33 3.3 v io supply -0.5 4.0 volts vdd18 1.8 v io supply -0.5 2.0 volts vin 5v tolerant input pin voltage 3.3v input pin voltage -0.5 -0.5 5.5 v dd33 + 0.5 volts iin input pin current -20 20 ma ta ambient operating temperature range 0 70 celsius tstrg storage temperature -65 150 celsius table 15 ? absolute maximum ratings electrical characteristics voltage parameter symbol test conditions min typ max unit input voltage low input voltage high v il v ih ? ? ? 2.0 ? ? 0.8 ? v v output voltage low output voltage high v ol v oh ? ? ? 2.4 ? ? 0.4 ? v v v dd33 ? 3.0 3.3 3.6 v power supply voltage v dd18 ? 1.65 1.8 1.95 v note: (t a = 0 c, v dd33 = 3.3 v 0.3 v, v ss = 0 v) table 16 ? dc characteristics
ISD-200 asic datasheet in-system design confidential 46 current parameter operating suspend v dd33 supply current (i dd33 ) v dd18 supply current (i dd18 ) i dd33 with ata_en = 0 i dd18 with ata_en = 0 10 ma (typ) 10 ma (typ) 6 a (typ) 1 ma (typ) 6 a (typ) 8 a / 275 a (typ) n/a n/a note: (t a = 0 c, v dd = 3.3 v 0.3 v, v ss = 0 v), ( v dd18 suspend current: buspwr=1, with out / with usb remote wakeup enabled in device) table 17 ? power supply current timing characteristics i 2 c memory device interface timing the i 2 c memory device interface supports the i 2 c ? fast mode. ? timing specifics are given below. figure 8 ? i 2 c memory device interface timing parameter symbol value clock high time t high 667 20 ns clock low time t low 1,333 20 ns start condition hold time t hd:sta 667 20 ns start condition setup time t su:sta 667 20 ns data output hold time t hd:dat 667 20 ns data output setup time t su:dat 667 20 ns stop condition setup time t su:sto 667 20 ns required data valid before clock t dsu 84 ns bus free time t buf 1,333 20 ns table 18 ? i 2 c memory device interface timing t low t high t hd:sta t su:sta t hd:dat t su:dat t dsu scl sda out sda in t buf t su:sto
ISD-200 asic datasheet in-system design confidential 47 usb transceiver timing characteristics the uss-725 usb transceiver complies with the timing and electrical requirements of the universal serial bus specification version 1.0 . ata/atapi port timing characteristics all input signals on the ata/atapi port are considered to be asynchronous, and are synchronized to the chip ? s internal system clock. all output signals are clocked using the chip ? s internal system clock, for which there is no external reference. thus, the output signals should be considered asynchronous. pio mode 0 (750 ns cycle time) shall be used during power on reset (por) and for non-data register accesses. following por, the pio mode used for data register accesses is specified in the ISD-200 configuration bytes. clock frequency duty cycle external crystal 12 mhz 0.25% n/a note: clock signal frequency is measured at v dd18 /2 point. rise and fall times should be 2 ns or less. table 19 ? clock requirements reset the ISD-200 requires an o ff-chip power-on reset circuit. the supply voltage should be stable for a minimum of 1 ms prior to the release of nreset.
ISD-200 asic datasheet in-system design confidential 48 physical diagrams figure 9 ? package outline diagram
ISD-200 asic datasheet in-system design confidential 49 device errata for first silicon ISD-200 ? 0002 ? this section identifies known problems with ISD-200 first silicon. silicon revision information is obtained from a vendor specific usb descriptor request. ISD-200 first silicon returns the english unicode string ? 0002 ? to the vendor specific request for string descriptor index 6. second silicon returns ? 0003 for the same string. bcddevice from internal rom contents also indicates revision. first silicon returns \x0100 and second silicon returns \x0110. follow on revisions of the ISD-200 will return different descriptor string values. note the revision string may also be obtained by reading and decoding addresses 0x139- 0x13f from internal rom contents. 1. clkn output may initialize with unknown frequency with asic in reset the dpll circuitry is not asynchronously reset, and when the test pins are set to generate clkn output prior to the dpll configuration data load, spurious frequencies may be generated from the clkn output prior to the state machines loading the correct dpll m and n parameters. this anomaly only effects i_mode operation. setting the test pins for no clkn generation and waiting for the configuration data load from eeprom or on-board rom eliminates the issue. 2. ata_en internal pull-up resistor is disabled during usb suspend operation internal logic incorrectly disables the internal pull-up resistor when the ISD-200 operates in usb suspend mode. the issue can be addressed with an external pull-up resistor. 3. eeprom write operation fails on last byte of last page with some eeprom devices the ISD-200 always increments the address when checking status of the previous write operation. on page boundaries, address bits 10:8 (or the chip select portion of the address with typical 256 byte page devices) are incremented prior to the status phase of the last byte write operation. vendors of i2c devices that treat this address / status phase data as ? don ? t care ? are compatible with the ISD-200. vendors that do examine the address bits during the write completion check do not ? ack ? the last write, as the address is now out of range for the device. the issue is addressed by not writing the last byte in the last eprom page. in almost all applications only a portion of the serial memory is utilized, and the problem does not surface. string descriptors can easily be modified to accommodate the loss of one byte (if need be). 4. scl output does not 3-state to hi-z when ? 1 ? , limiting scl vhi voltage to 3.3v this issue may cause compatibility issues for certain eeprom devices, as most data serial rom data sheets report a vhi voltage of 0.7*vcc requirement for correct operation. to operate at 400khz (ISD-200 requirement), most devices require vcc set to 5v, which translates to a vhi requirement of 0.7*5v=3.5v. ? catalyst ? eeprom ? s have been identified not to have the 0.7*vcc vhi limitation. a field engineer states catalyst ? s input stage triggers vhi at .5*vcc, or 2.5v. regression testing with catalyst parts found zero failures. if another vendor is chosen, vhi switching requirements must be investigated to insure proper operation.
ISD-200 asic datasheet in-system design confidential 50 5. current draw of 5-6 ma when ata_en = 0 the ata cells are not powered down when ata_en is inactive. when enabled, the ata cell active circuitry typically draws between 5-6 ma of quiescent current (all cells combined). disabling the active circuitry reduces quiescent current to approximately 4 ua (note the inputs must be tied high or low to keep them out of their high current switching region). the test[3:0] inputs will place the ata cells in low power mode if used in conjunction with ata_en. setting test[3:0] = ? 1111 ? with ata_en = 0 will place the ata cells in low power mode. quiescent current will then be approximately 1 ma. this solution is compatible with rev b silicon (although not required). 6. usb bus powered system support not possible with ISD-200 first silicon. there are several issues that prevent the ISD-200 from supporting usb bus powered systems. these issues only effect usb bus powered operation. brick powered system support is not effected. ISD-200 rev a silicon can only be used in brick powered systems. the rev b version of the ISD-200 will address the issues and thus support usb bus powered system integration. 7. usb interrupt pipe support required for mac os drivers / applications although the usb interrupt en dpoint in the ISD-200 always returns 0x00 ? s when addressed, some software / drivers used with mac os version expect the endpoint for proper operation. this is not a hw issue with the ISD-200; it has been implemented as a work-around solution for legacy software issues . for legacy driver compatibility reasons, the interrupt endpoint should be reported in the ISD-200 usb descriptor information. 8. support not provided for 16 byte atapi command block transfers previous revisions of this data sheet state the ISD-200 can support 16 byte atapi command blocks. the atapi command block size configuration bits (configuration byte 0x05, bits[7:6]) must be set to ? 00 ? , as only 12 byte atapi command block are supported by the ISD-200. advertisement of this feature has been removed from the data sheet. the ISD-200 will not support 16 byte atapi command block sizes . no changes are planned for rev b silicon . 9. clkn does not get the correct frequency in all cases see errata #101 10. failure to override descriptors for slave device when bsy=0 and drq=1. see errata #102.
ISD-200 asic datasheet in-system design confidential 51 11. possible hang in atacb functionality. see errata #103.
ISD-200 asic datasheet in-system design confidential 52 device errata for second silicon ISD-200 ? 0003 ? 100. nata_reset, ndior, and ndiow allow parasitic current draw during suspend when suspended second silicon attempts to reduce suspend current and allow flexibility by three-stating the three control lines nata_reset, ndior, and ndiow. the cells leak about 2-3 ua that hold the cells from going into a low power state. the extra 3.3v supply current per cell is around 200 ua when in this high current consumption state. when there is a 1.5k pull-down in place, the cell draw much less current. if all cells have been placed in the low current consumption state then total 3.3v supply current should be around 200 na. a weak pull-up could also be used to pull these signals up to reduce the 3.3v supply current to about 12 ua. 101. clkn does not get the correct frequency in all cases the following table indicates the source of clkn configuration. ? x ? means clkn does not run. note: columns indicate a sequence of actions from left to right. rows indicate configuration source and bus_power pin state.
ISD-200 asic datasheet in-system design confidential 53 por, ata_en=1 ata_en=0 ata_en=1 por, ata_en=0 ata_en=1 ata_en=0 bus_power=0, ata high power=0(byte 8, bit 4) e^2 ee clkn ee clkn ee clkn x ee clkn ee clkn e^2 + test pins ee clkn ee clkn ee clkn test clkn test clkn -> ee clkn ee clkn test pins test clkn test clkn test clkn test clkn test clkn test clkn i_mode + test pins test clkn test clkn test clkn fbh clkn fbh clkn fbh clkn bus_power=1, ata high power=0(byte 8, bit 4) e^2 ee clkn x ee clkn x ee clkn x e^2 + test pins ee clkn x ee clkn x ee clkn x test pins test clkn x test clkn x test clkn x i_mode + test pins test clkn x test clkn x fbh clkn x bus_power=0, ata high power=1(byte 8, bit 4) e^2 12mhz -> x x x x ee clkn ee clkn e^2 + test pins ee clkn ee clkn ee clkn test clkn test clkn -> ee clkn ee clkn test pins test clkn test clkn test clkn test clkn test clkn test clkn i_mode + test pins test clkn test clkn test clkn fbh clkn fbh clkn fbh clkn bus_power=1, ata high power=1(byte 8, bit 4) e^2 x x x x x x e^2 + test pins x x x x x x test pins test clkn x test clkn x test clkn x i_mode + test pins test clkn x test clkn x fbh clkn x note: all values indicate clkn output before usb configuration is set. when ata high power=1 and bus_power=1, the clkn output will not turn on until the usb configuration is set to a non-zero value. refer to the ? bus_power=1, ata high power=0 ? section in order to tell what the clkn output will be when the usb configuration is set. for devices using clkn that allow ata_en to be deasserted, it is suggested that the bus_power pin is deasserted in conjunction with ata_en if bus_power is asserted itself. if a device uses both test pins and e^2 or fbh to configure clkn then it is suggested that both clkn values match. if a device is to use e^2 clkn values then the test pins must be set to either clkn test mode in order to get the expected value. if ata_en is allowed to deassert then there is the possibility that the test pin clkn values will be used. 102. failure to override descriptors for slave device when bsy=0 and drq=1. this issue is regarding isd200 configuration byte 8 bit 3. this case will usually only occur when the device is a slave and there is a host side pull-down on dd7 and no pull-down on dd3. is this case isd200 will never enumerate. potential fixes: 1. pull-up on dd7 2. pull-down on dd7 and dd3
ISD-200 asic datasheet in-system design confidential 54 103. possible hang in atacb functionality. if batacbtransferblockcount is set to zero, pollaltstatoverride is set to one and the cbw datatransferlength not zero, the atacb state machine will hang. this should not be an issue if the batacbtransferblockcount is never set to zero or if there is never a data phase(cbw datatransferlength=0) when pollaltstatoverride is set to one.
ISD-200 asic datasheet in-system design confidential 55 appendix a ? example eeprom or fbh data contents address field name description example srom / fbh data 0x00 data signature (lsb) this field specifies the least significant byte of the serial rom/fbh signature. this register does not exist in hw (no por values) 0x52 0x01 data signature (msb) this field specifies the most significant byte of the serial rom/fbh signature. this register does not exist in hw (no por values) 0x48 0x02 event notification this field specifies the ata event notification command. setting this field to 0x00 disables this feature. por configuration default of 0x00 0xfc 0x03 dpll parameters this field denotes the parameters used by the internal dpll. the original clock source is 12 mhz. 5 bits m (7:3), 2 bits n (2:1), 1 bit enable (0). when enabled, multiply the original clock source by m, divided by n m: 00000 => m=1 00001 => m=1 00010 => m=2 00011 => m=3 ? . 11111 => m=31 n: 00 => n=1 01 => n=3 10 => n=2 11 => n=4 enable: 0 => clk_n disabled 1 => clk_n enabled por configuration default of 0x00 0x43 0x04 ata initialization timeout this field specifies the time in multiples of 128 ms (0x19 = 3.2s) before the ISD-200 stops polling the alternate status device register for reset complete and restarts the reset process. note: the rom contents ata initialization timeout value must be large enough to accommodate i_mode operation during the first device initialization sequence (before fbh configuration data load) por configuration default of 0x02 0x02 0x05 reserved ? bits [7:6] master/slave selection ? bit [5] atapi device reset ? bit [4] ata timing ? bits [3:0] reserved; set to ? 0 ? this bit specifies device number selection. ? 0 ? - drive 0 ? 1 ? - drive 1 this bit specifies that the ISD-200 perform a atapi device reset command during a full initialization sequence. this field determines ata bus data access cycle times. 0000 reserved 0001 mode 2 (292 ns) 0010 mode 2 (333 ns) 0011 mode 2 (375 ns) 0100 mode 1 (458 ns) 0101 mode 1 (500 ns) 0110 mode 1 (542 ns) 0111 mode 1 (583 ns) 1000 mode 0 (625 ns) 1001 mode 0 (666 ns) 1010 mode 0 (708 ns) 1011 mode 0 (750 ns) 1100 reserved 1101 reserved 1110 reserved 1111 reserved por configuration default of 0x0b 0x01 0x06 ata command designator (byte 0, lsb) this field specifies the value in cbw cb field that designates if the cb is decoded as ata commands instead of the atapi command block. por configuration default of 0x00 0x24
ISD-200 asic datasheet in-system design confidential 56 address field name description example srom / fbh data 0x07 ata command designator (byte 1, msb) this field specifies the value in cbw cb field that designates if the cb is decoded as ata commands instead of the atapi command block. por configuration default of 0x00 0x24 0x08 initialization status ? bit[7] configuration descriptor 2 present ? bit[6] skip ata / atapi device initialization ? bit[5] ata high power device for usb bus powered devices ? bit[4] descriptor override ? bit[3] last lun identifier ? bits[2:0] this (read only) bit denotes the device initialization status. if set, indicates the device initialization sequence is active. this bit specifies that a second configuration descriptor is present. see ? bus_power pin ? under the ? power management ? section. ? 0 ? - not present ? 1 ? - present this bit specifies that the ISD-200 skip device initialization. ? 0 ? - normal operation ? 1 ? - only reset the device prior to allowing usb enumeration. the function of this bit is overridden (0) if i_mode is set. notification command, descriptor override, srst enable, atapi device reset settings are irrelevant. setting this bit indicates that when usb bus powered, the system ? s ata interface is only powered when the npwr500 pin is active (not controlled by npwr100). ? 0 ? ? normal operation ? 1 ? ? if (bus_power = 1) and (usb configuration = 0) then ata pads are put into low power mode, ata control lines (reset-, dior-, diow-) are 3-stated to hi-z, and the remainder of the ata lines(ncs(1:0), da(2:0), dd(15:0), and iordy_pu_en) are driven low. (see power management ) setting this bit causes the ISD-200 to override the usb descriptors for ata devices. not compatible with setting bus_power=1. if set, (i_mode = 0), and (ata device identified or device initialization fails), bdeviceclass returned as 0xff bdevicesubclass returned as 0x00 bdeviceprotocol returned as 0xff binterfaceclass returned as 0xff binterfacesubclass returned as 0x00 binterfaceprotocol returned as 0xff idproduct bit 0 is replaced with a ? 1 ? (suggested: even idproduct for atapi devices, odd numbers for ata devices) else usb descriptor information unaltered this field denotes the (zero-based) maximum number of luns supported. por configuration default of 0x30 0x40 0x09 reserved ? bits[7:2] report one configuration ? bit[1] srst enable ? bit[0] reserved; set to ? 0 ? this bit determines whether one or two configuration descriptors are made available to the host. this bit should not be set if the configuration descriptor 2 present configuration bit is not set. ? 0 ? - both descriptors are reported to the host if bus_power=0 ? 1 ? - report only the configuration descriptor that corresponds to state of the bus_power input. configuration 1 is returned when bus_power=1, configuration 2 is returned when bus_power=0 setting this bit enables the srst reset algorithm in the ISD-200. por configuration default of 0x00 0x02 0x0a language id string (0) address location for langid string (divided by 2). this index must be set to 0x00 if the string is not present. 0x28 0x0b manufacturer string (1) address location for imanufacturer string (divided by 2). this index must be set to 0x00 if the string is not present. 0x2a
ISD-200 asic datasheet in-system design confidential 57 address field name description example srom / fbh data 0x0c product string (2) address location for iproduct string (divided by 2). this index must be set to 0x00 if the string is not present. 0x30 0x0d configuration 1 string (3) address location for iconfiguration string (divided by 2). this index must be set to 0x00 if the string is not present. 0x37 0x0e interface 1 string (4) address location for iinterface string (divided by 2). this index must be set to 0x00 if the string is not present. 0x3f 0x0f serial number string (5) address location for iserialnumber string (divided by 2). this index must be set to 0x00 if the string is not present. the usb mass storage class bulk only transport specification requires a unique serial number. 0x4c 0x10 configuration 2 string (7) address location for second iconfiguration 2 string (divided by 2). this index must be set to 0x00 if the string is not present. 0x61 0x11 interface 2 string (8) address location for second iinterface 2 string (divided by 2). 0x6b 0x12 blength length of device descriptor in bytes. 0x12 0x13 bdescriptor type descriptor type. 0x01 0x14 bcdusb (lsb) 0x10 0x15 bcdusb (msb) usb specification release number in bcd. 0x01 0x16 bdeviceclass device class. 0x00 0x17 bdevicesubclass device subclass. 0x00 0x18 bdeviceprotocol device protocol. 0x00 0x19 bmaxpacketsize maximum usb packet size supported 0x40 0x1a idvendor (lsb) 0xab 0x1b idvendor (msb) vendor id. 0x05 0x1c idproduct (lsb) 0x30 0x1d idproduct (msb) product id. 0x00 0x1e bcddevice (lsb) 0x00 0x1f bcddevice (msb) device release number in bcd. 0x01 0x20 imanufacturer index to manufacturer string. 0x01 0x21 iproduct index to product string. 0x02 0x22 iserialnumber index to serial number string. 0x05 0x23 bnumconfigurations number of configurations supported. 0x01 0x24 bconfiguration value 2 the value to use as an argument to set configuration to select the configuration. 0x00 0x25 iconfiguration 2 index to second configuration string. 0x00 0x26 bmaxpower 2 maximum power consumption for the second configuration. 0x00 0x27 iinterface 2 index to interface string associated with the second configuration descriptor. 0x00 0x28 blength length of configuration descriptor in bytes. 0x09 0x29 bdescriptortype descriptor type. 0x02 0x2a btotallength (lsb) 0x27 0x2b btotallength (msb) number of bytes returned in this configuration. this includes the configuration descriptor plus all the interface and endpoint descriptors. 0x00 0x2c bnuminterfaces number of interfaces supported. 0x01 0x2d bconfiguration value 1 the value to use as an argument to set configuration to select the configuration. 0x01 0x2e iconfiguration 1 index to first configuration string. 0x00 0x2f bmattributes device attributes for this configuration. 0xe0 0x30 bmaxpower 1 maximum power consumption for the second configuration. 0x31 0x31 blength length of interface descriptor in bytes. 0x09 0x32 bdescriptortype descriptor type. 0x04 0x33 binterfacenumber interface number. 0x00 0x34 balternatesettings alternate settings 0x00 0x35 bnumendpoints number of endpoints 0x03 0x36 binterfaceclass interface class. 0x08
ISD-200 asic datasheet in-system design confidential 58 address field name description example srom / fbh data 0x37 binterfacesubclass interface subclass. 0x06 0x38 binterfaceprotocol interface protocol. 0x50 0x39 iinterface 1 index to interface string associated with the first configuration descriptor. 0x00 0x3a blength length of this descriptor in bytes. 0x07 0x3b bdescriptortype endpoint descriptor type. 0x05 0x3c bendpointaddress this is an out endpoint, endpoint number 1. 0x01 0x3d bmattributes this is a bulk endpoint. 0x02 0x3e wmaxpacketsize (lsb) 0x40 0x3f wmaxpacketsize (msb) max data transfer size. 0x00 0x40 binterval does not apply to bulk endpoints. 0x00 0x41 blength length of this descriptor in bytes. 0x07 0x42 bdescriptortype endpoint descriptor type. 0x05 0x43 bendpointaddress this is an in endpoint, endpoint number 2. 0x82 0x44 bmattributes this is a bulk endpoint. 0x02 0x45 wmaxpacketsize (lsb) 0x40 0x46 wmaxpacketsize (msb) max data transfer size. 0x00 0x47 binterval does not apply to bulk endpoints. 0x00 0x48 blength length of this descriptor in bytes. 0x07 0x49 bdescriptortype endpoint descriptor type. 0x05 0x4a bendpointaddress this is an interrupt endpoint, endpoint number 3. 0x83 0x4b bmattributes this is an interrupt endpoint. 0x03 0x4c wmaxpacketsize (lsb) 0x02 0x4d wmaxpacketsize (msb) max data transfer size. 0x00 0x4e binterval this is the polling interval. 0x02 0x4f not used not used since starting address must be even. 0x00 0x50 blength langid string descriptor length in bytes. 0x04 0x51 bdescriptortype descriptor type. 0x03 0x52 langid (lsb) 0x09 0x53 langid (msb) language supported. 0x04 0x54 blength manufacturer string descriptor length in bytes (restricted to 63 bytes or less). 0x0c 0x55 bdescriptortype descriptor type. 0x03 0x56 bstring ? m ? 0x4d 0x57 bstring ? nul ? 0x00 0x58 bstring ? f ? 0x66 0x59 bstring ? nul ? 0x00 0x5a bstring ? g ? 0x67 0x5b bstring ? nul ? 0x00 0x5c bstring ? ? 0x20 0x5d bstring ? nul ? 0x00 0x5e bstring ? x ? 0x58 0x5f bstring ? nul ? 0x00 0x60 blength product string descriptor length in bytes (restricted to 63 bytes or less). 0x0e 0x61 bdescriptortype descriptor type 0x03 0x62 bstring ? p ? 0x50 0x63 bstring ? nul ? 0x00 0x64 bstring ? r ? 0x72 0x65 bstring ? nul ? 0x00
ISD-200 asic datasheet in-system design confidential 59 address field name description example srom / fbh data 0x66 bstring ? o ? 0x6f 0x67 bstring ? nul ? 0x00 0x68 bstring ? d ? 0x64 0x69 bstring ? nul ? 0x00 0x6a bstring ? ? 0x20 0x6b bstring ? nul ? 0x00 0x6c bstring ? y ? 0x59 0x6d bstring ? nul ? 0x00 0x6e blength configuration 1 string descriptor length in bytes (restricted to 63 bytes or less). 0x0e 0x6f bdescriptortype descriptor type 0x03 0x70 bstring ? d ? 0x44 0x71 bstring ? nul ? 0x00 0x72 bstring ? e ? 0x65 0x73 bstring ? nul ? 0x00 0x74 bstring ? f ? 0x66 0x75 bstring ? nul ? 0x00 0x76 bstring ? a ? 0x61 0x77 bstring ? nul ? 0x00 0x78 bstring ? u ? 0x75 0x79 bstring ? nul ? 0x00 0x7a bstring ? l ? 0x6c 0x7b bstring ? nul ? 0x00 0x7c bstring ? t ? 0x74 0x7d bstring ? nul ? 0x00 0x7e blength interface 1 (configuration 1) string descriptor length in bytes (restricted to 63 bytes or less). 0x1a 0x7f bdescriptortype descriptor type 0x03 0x80 bstring ? m ? 0x4d 0x81 bstring ? nul ? 0x00 0x82 bstring ? a ? 0x61 0x83 bstring ? nul ? 0x00 0x84 bstring ? s ? 0x73 0x85 bstring ? nul ? 0x00 0x86 bstring ? s ? 0x73 0x87 bstring ? nul ? 0x00 0x88 bstring ? ? 0x20 0x89 bstring ? nul ? 0x00 0x8a bstring ? s ? 0x53 0x8b bstring ? nul ? 0x00 0x8c bstring ? t ? 0x74 0x8d bstring ? nul ? 0x00 0x8e bstring ? o ? 0x6f 0x8f bstring ? nul ? 0x00 0x90 bstring ? r ? 0x72 0x91 bstring ? nul ? 0x00 0x92 bstring ? a ? 0x61 0x93 bstring ? nul ? 0x00
ISD-200 asic datasheet in-system design confidential 60 address field name description example srom / fbh data 0x94 bstring ? g ? 0x67 0x95 bstring ? nul ? 0x00 0x96 bstring ? e ? 0x65 0x97 bstring ? nul ? 0x00 0x98 blength serial number string descriptor length in bytes (restricted to 63 bytes or less). 0x2a 0x99 bdescriptortype descriptor type 0x03 0x9a bstring ? 0 ? 0x30 0x9b bstring ? nul ? 0x00 0x9c bstring ? 1 ? 0x31 0x9d bstring ? nul ? 0x00 0x9e bstring ? 2 ? 0x32 0x9f bstring ? nul ? 0x00 0xa0 bstring ? 3 ? 0x33 0xa1 bstring ? nul ? 0x00 0xa2 bstring ? 4 ? 0x34 0xa3 bstring ? nul ? 0x00 0xa4 bstring ? 5 ? 0x35 0xa5 bstring ? nul ? 0x00 0xa6 bstring ? 6 ? 0x36 0xa7 bstring ? nul ? 0x00 0xa8 bstring ? 7 ? 0x37 0xa9 bstring ? nul ? 0x00 0xaa bstring ? 8 ? 0x38 0xab bstring ? nul ? 0x00 0xac bstring ? 9 ? 0x39 0xad bstring ? nul ? 0x00 0xae bstring ? 0 ? 0x30 0xaf bstring ? nul ? 0x00 0xb0 bstring ? 1 ? 0x31 0xb1 bstring ? nul ? 0x00 0xb2 bstring ? 2 ? 0x32 0xb3 bstring ? nul ? 0x00 0xb4 bstring ? 3 ? 0x33 0xb5 bstring ? nul ? 0x00 0xb6 bstring ? 4 ? 0x34 0xb7 bstring ? nul ? 0x00 0xb8 bstring ? 5 ? 0x35 0xb9 bstring ? nul ? 0x00 0xba bstring ? 6 ? 0x36 0xbb bstring ? nul ? 0x00 0xbc bstring ? 7 ? 0x37 0xbd bstring ? nul ? 0x00 0xbe bstring ? 8 ? 0x38 0xbf bstring ? nul ? 0x00 0xc0 bstring ? 9 ? 0x39 0xc1 bstring ? nul ? 0x00
ISD-200 asic datasheet in-system design confidential 61 address field name description example srom / fbh data 0xc2 blength configuration 2 string descriptor length in bytes (restricted to 63 bytes or less). 0x0e 0xc3 bdescriptortype descriptor type 0x03 0xc4 bstring ? l ? 0x4c 0xc5 bstring ? nul ? 0x00 0xc6 bstring ? o ? 0x6f 0xc7 bstring ? nul ? 0x00 0xc8 bstring ? w ? 0x77 0xc9 bstring ? nul ? 0x00 0xca bstring ? ? 0x20 0xcb bstring ? nul ? 0x00 0xcc bstring ? p ? 0x50 0xcd bstring ? nul ? 0x00 0xce bstring ? o ? 0x6f 0xcf bstring ? nul ? 0x00 0xd0 bstring ? w ? 0x77 0xd1 bstring ? nul ? 0x00 0xd2 bstring ? e ? 0x65 0xd3 bstring ? nul ? 0x00 0xd4 bstring ? r ? 0x72 0xd5 bstring ? nul ? 0x00 0xd6 blength interface 2 (configuration 2) string descriptor length in bytes (restricted to 63 bytes or less). 0x0e 0xd7 bdescriptortype descriptor type 0x03 0xd8 bstring ? b ? 0x42 0xd9 bstring ? nul ? 0x00 0xda bstring ? u ? 0x75 0xdb bstring ? nul ? 0x00 0xdc bstring ? s ? 0x73 0xdd bstring ? nul ? 0x00 0xde bstring ? ? 0x20 0xdf bstring ? nul ? 0x00 0xe0 bstring ? p ? 0x50 0xe1 bstring ? nul ? 0x00 0xe2 bstring ? o ? 0x6f 0xe3 bstring ? nul ? 0x00 0xe4 bstring ? w ? 0x77 0xe5 bstring ? nul ? 0x00 0xe6 bstring ? e ? 0x65 0xe7 bstring ? nul ? 0x00 0xe8 bstring ? r ? 0x72 0xe9 bstring ? nul ? 0x00 0xea bstring ? e ? 0x65 0xeb bstring ? nul ? 0x00 0xec bstring ? d ? 0x64 0xed bstring ? nul ? 0x00
ISD-200 asic datasheet in-system design confidential 62 address field name description example srom / fbh data 0xee ? 0x1ff (srom), 0x13f (fbh) not used available srom space / unused fbh space 0xxx table 20 ? example serial rom / fbh data


▲Up To Search▲   

 
Price & Availability of ISD-200

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X